@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,89 +1,103 @@
1
- var tt = Object.defineProperty;
2
- var st = (x, e, t) => e in x ? tt(x, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : x[e] = t;
3
- var b = (x, e, t) => st(x, typeof e != "symbol" ? e + "" : e, t);
4
- import { j as K } from "../node_modules/react/jsx-runtime.js";
5
- import { Error as et } from "../common/Error.js";
6
- import { MIN_MARGIN as I, TITLE_LINE as j, LEGEND_OFFSET as ot, DEFAULT_AES as Y, CHART_SIDE_ELEMENTS as it, MIN_PADDING as nt } from "./constants.js";
7
- import { calculateChartSideElementSizes as at } from "./utils/calculateChartSideElementSizes.js";
8
- import { calculateSideElementsBBoxes as rt } from "./utils/calculateSideElementsBBoxes.js";
9
- import { createDiscreteColorScale as q, createContinuousColorScale as lt } from "./utils/createColorScales.js";
10
- import { calculateAnnotationTitleSizes as ht } from "./utils/calculateAnnotationTitleSizes.js";
11
- import { calculateCaptionTails as ct } from "./utils/calculateCaptionTails.js";
12
- import { getChartEdgeSides as ut } from "../utils/getChartEdgeSides.js";
13
- import { getContinuousLegendTicks as V } from "../utils/getContinuousLegendTicks.js";
14
- import F from "../node_modules/lodash/lodash.js";
15
- import { DEFAULT_HEIGHT as U, DEFAULT_WIDTH as X, TITLE_LINE_HEIGHT as pt, TITLE_MARGIN as mt } from "../constants.js";
16
- import { createRoot as dt } from "../node_modules/react-dom/client.js";
17
- import { ChartsGroup as gt } from "./components/ChartsGroup.js";
18
- import { TextMeasurer as xt } from "../utils/TextMeasurer.js";
19
- import { arrangeLegendParts as Ct } from "../utils/arrangeLegendParts.js";
20
- import W from "../node_modules/d3-scale/src/ordinal.js";
21
- import _ from "../node_modules/d3-scale/src/linear.js";
22
- import St from "../node_modules/d3-array/src/extent.js";
23
- import J from "../node_modules/d3-hierarchy/src/cluster.js";
24
- function Q(x, e, t) {
25
- function s(r) {
26
- r[t] = e(r.data.height), r.children && r.children.forEach(s);
1
+ var st = Object.defineProperty;
2
+ var et = (p, s, e) => s in p ? st(p, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : p[s] = e;
3
+ var b = (p, s, e) => et(p, typeof s != "symbol" ? s + "" : s, e);
4
+ import { j as P } from "../node_modules/react/jsx-runtime.js";
5
+ import ot from "../node_modules/lodash/lodash.js";
6
+ import { createRoot as it } from "../node_modules/react-dom/client.js";
7
+ import { Error as nt } from "../common/Error.js";
8
+ import { DataFrameProvider as rt } from "../common/useDataFrame.js";
9
+ import { DEFAULT_HEIGHT as X, DEFAULT_WIDTH as Y, TITLE_LINE_HEIGHT as at, TITLE_MARGIN as ht } from "../constants.js";
10
+ import { arrangeLegendParts as ct } from "../utils/arrangeLegendParts.js";
11
+ import { getChartEdgeSides as lt } from "../utils/getChartEdgeSides.js";
12
+ import { getContinuousLegendTicks as K } from "../utils/getContinuousLegendTicks.js";
13
+ import { TextMeasurer as ut } from "../utils/TextMeasurer/TextMeasurer.js";
14
+ import { ChartsGroup as pt } from "./components/ChartsGroup.js";
15
+ import { MIN_MARGIN as w, TITLE_LINE as q, LEGEND_OFFSET as dt, DEFAULT_AES as V, CHART_SIDE_ELEMENTS as mt, MIN_PADDING as gt } from "./constants.js";
16
+ import { calculateChartSideElementSizes as xt } from "./utils/calculateChartSideElementSizes.js";
17
+ import { calculateSideElementsBBoxes as Ct } from "./utils/calculateSideElementsBBoxes.js";
18
+ import { createDiscreteColorScale as J, createContinuousColorScale as ft } from "./utils/createColorScales.js";
19
+ import { calculateAnnotationTitleSizes as St } from "./utils/calculateAnnotationTitleSizes.js";
20
+ import { calculateCaptionTails as yt } from "./utils/calculateCaptionTails.js";
21
+ import _ from "../node_modules/d3-scale/src/ordinal.js";
22
+ import v from "../node_modules/d3-scale/src/linear.js";
23
+ import Lt from "../node_modules/d3-array/src/extent.js";
24
+ import Q from "../node_modules/d3-hierarchy/src/cluster.js";
25
+ const bt = Math.cos(Math.PI / 4), At = 5;
26
+ function Z(p, s, e) {
27
+ function t(r) {
28
+ r[e] = s(r.data.height), r.children && r.children.forEach(t);
27
29
  }
28
- s(x);
30
+ t(p);
29
31
  }
30
- function Z(x, e, t, s = t) {
31
- function r(n) {
32
- n[s] = n[t] + e, n.children && n.children.forEach(r);
32
+ function $(p, s, e, t = e) {
33
+ function r(i) {
34
+ i[t] = i[e] + s, i.children && i.children.forEach(r);
33
35
  }
34
- r(x);
36
+ r(p);
35
37
  }
36
- const ft = (x, e) => {
37
- const t = Math.min(...e), s = Math.max(...e);
38
- if (t === s) {
39
- const i = x % 2 === 0 ? [] : [t];
40
- for (let l = 1; l < x / 2 + 1; l++)
41
- i.push(t + l), i.unshift(t - l);
42
- return i;
38
+ const zt = (p, s) => {
39
+ const e = Math.min(...s), t = Math.max(...s);
40
+ if (e === t) {
41
+ const a = p % 2 === 0 ? [] : [e];
42
+ for (let h = 1; h < p / 2 + 1; h++)
43
+ a.push(e + h), a.unshift(e - h);
44
+ return a;
43
45
  }
44
- if (x < 2)
45
- return [t, s];
46
- const r = (s - t) / (x - 1), n = [];
47
- for (let i = 0; i < x - 1; i++)
48
- n.push(t + r * i);
49
- return n.push(s), n;
46
+ if (p < 2)
47
+ return [e, t];
48
+ const r = (t - e) / (p - 1), i = [];
49
+ for (let a = 0; a < p - 1; a++)
50
+ i.push(e + r * a);
51
+ return i.push(t), i;
50
52
  };
51
- function $(x, e, t) {
52
- let s = t;
53
- return x && (x.colorRange && (s = x.colorRange), x.method === "standardScaling" && (s = [-2, 2]), x.method === "meanNormalization" && (s = [-0.75, 0.75])), ft(e, s);
53
+ function tt(p, s, e) {
54
+ let t = e;
55
+ return p && (p.colorRange && (t = p.colorRange), p.method === "standardScaling" && (t = [-2, 2]), p.method === "meanNormalization" && (t = [-0.75, 0.75])), zt(s, t);
54
56
  }
55
- class kt {
57
+ function O(p, s, e) {
58
+ let t = 0;
59
+ for (const r of p) {
60
+ if (s[r] === void 0) continue;
61
+ const i = e.getTextWidth(s[r]);
62
+ i > t && (t = i);
63
+ }
64
+ return t;
65
+ }
66
+ function U(p, s) {
67
+ return s === 90 ? p : s === 45 ? p * bt + (p > 0 ? 2 * At : 0) : q;
68
+ }
69
+ class qt {
56
70
  constructor() {
57
71
  b(this, "reactRoot", null);
58
72
  b(this, "parentNode", null);
59
73
  b(this, "rootNode", null);
60
- b(this, "component", /* @__PURE__ */ K.jsx(K.Fragment, {}));
74
+ b(this, "component", /* @__PURE__ */ P.jsx(P.Fragment, {}));
61
75
  b(this, "chartsDimensions", {});
62
76
  b(this, "chartSizes", {
63
- chartWidth: X,
77
+ chartWidth: Y,
64
78
  // width of single chart
65
- chartHeight: U,
79
+ chartHeight: X,
66
80
  // height of single chart
67
- chartsWidth: X,
81
+ chartsWidth: Y,
68
82
  // width of all charts in charts row
69
- chartsHeight: U,
83
+ chartsHeight: X,
70
84
  // width of all charts in charts column, without axes
71
- totalWidth: X,
85
+ totalWidth: Y,
72
86
  // width of all charts in charts row, plus left axis, plus legend
73
- totalHeight: U
87
+ totalHeight: X
74
88
  // width of all charts in charts height, plus bottom axis, plus top title
75
89
  });
76
90
  b(this, "margins", {
77
- top: I,
78
- bottom: I,
79
- left: I,
80
- right: I
91
+ top: w,
92
+ bottom: w,
93
+ left: w,
94
+ right: w
81
95
  });
82
96
  b(this, "captionsSizes", {
83
97
  xAxisCaptions: 100,
84
98
  yAxisCaptions: 100,
85
- xGroupCaptions: j,
86
- yGroupCaptions: j,
99
+ xGroupCaptions: q,
100
+ yGroupCaptions: q,
87
101
  xCaptionTail: 0,
88
102
  yCaptionTail: 0
89
103
  });
@@ -97,11 +111,11 @@ class kt {
97
111
  b(this, "rowsCount", 1);
98
112
  b(this, "scales", {
99
113
  // scales grouped by facet
100
- x: { null: W().domain(["null"]).range([1]) },
101
- y: { null: W().domain(["null"]).range([1]) }
114
+ x: { null: _().domain(["null"]).range([1]) },
115
+ y: { null: _().domain(["null"]).range([1]) }
102
116
  });
103
117
  b(this, "step", { x: {}, y: {} });
104
- b(this, "colorScale", _().domain([0, 1]).range(["white", "black"]));
118
+ b(this, "colorScale", v().domain([0, 1]).range(["white", "black"]));
105
119
  b(this, "annotationColorScales", {});
106
120
  b(this, "dendrogramAesScales", {});
107
121
  b(this, "legend", {
@@ -112,261 +126,267 @@ class kt {
112
126
  b(this, "dendrograms", {});
113
127
  }
114
128
  clear() {
115
- var e;
116
- this.parentNode && this.rootNode && ((e = this.parentNode) == null || e.removeChild(this.rootNode), this.parentNode = null, this.rootNode = null), setTimeout(() => {
117
- var t;
118
- (t = this.reactRoot) == null || t.unmount(), this.reactRoot = null;
129
+ var s;
130
+ this.parentNode && this.rootNode && ((s = this.parentNode) == null || s.removeChild(this.rootNode), this.parentNode = null, this.rootNode = null), setTimeout(() => {
131
+ var e;
132
+ (e = this.reactRoot) == null || e.unmount(), this.reactRoot = null;
119
133
  });
120
134
  }
121
- init(e) {
122
- this.parentNode === null && (this.parentNode = e, this.rootNode = document.createElement("div"), this.parentNode.appendChild(this.rootNode), this.reactRoot = dt(this.rootNode));
135
+ init(s) {
136
+ this.parentNode === null && (this.parentNode = s, this.rootNode = document.createElement("div"), this.parentNode.appendChild(this.rootNode), this.reactRoot = it(this.rootNode));
123
137
  }
124
- updateMargins(e) {
138
+ updateMargins(s) {
125
139
  this.margins = {
126
- top: e.show ? pt + mt * 2 : I,
127
- bottom: I,
128
- left: I,
129
- right: this.legend.width + I
140
+ top: s.show ? at + ht * 2 : w,
141
+ bottom: w,
142
+ left: w,
143
+ right: this.legend.width + w
130
144
  }, this.chartSizes.totalWidth = this.margins.left + this.chartSizes.chartsWidth + this.margins.right, this.chartSizes.totalHeight = this.margins.top + Math.max(this.chartSizes.chartsHeight + this.margins.bottom, this.legend.height);
131
145
  }
132
- updateLegendSize(e, t, s, r, n) {
133
- if (!t.show) {
146
+ updateLegendSize(s, e, t, r, i) {
147
+ if (!e.show) {
134
148
  this.legend = { width: 0, height: 0, items: [] };
135
149
  return;
136
150
  }
137
- const i = this.chartSizes.chartHeight, l = [], c = { width: 0, height: 0, left: 0, top: 0 }, z = (u) => u.reduce((h, o) => (h[o] = String(o), h), {});
138
- if (e === "continuous") {
139
- const u = this.colorScale, h = V(u, n), o = _([h[0], h[h.length - 1]], [i, 0]), a = r.label ?? r.value;
140
- l.push({
141
- ...c,
151
+ const a = this.chartSizes.chartHeight, h = [], d = { width: 0, height: 0, left: 0, top: 0 }, A = (l) => l.reduce((c, n) => (c[n] = String(n), c), {});
152
+ if (s === "continuous") {
153
+ const l = this.colorScale, c = K(l, i), n = v([c[0], c[c.length - 1]], [a, 0]), o = r.label ?? r.value;
154
+ h.push({
155
+ ...d,
142
156
  type: "continuous",
143
157
  id: "heatmapValue",
144
- scale: u,
145
- values: h,
146
- title: a,
147
- tickPositionScale: o
158
+ scale: l,
159
+ values: c,
160
+ title: o,
161
+ tickPositionScale: n
148
162
  });
149
- } else if (e === "discrete") {
150
- const u = this.colorScale, h = r.label ?? r.value, o = u.domain(), a = z(o);
151
- l.push({ ...c, type: "discreteColor", id: "heatmapValue", title: h, scale: u, values: o, labels: a });
163
+ } else if (s === "discrete") {
164
+ const l = this.colorScale, c = r.label ?? r.value, n = l.domain(), o = A(n);
165
+ h.push({ ...d, type: "discreteColor", id: "heatmapValue", title: c, scale: l, values: n, labels: o });
152
166
  }
153
- if (s.forEach((u) => {
154
- const h = u.valueColumn.label ?? u.valueColumn.value;
155
- if (u.type === "continuous") {
156
- const o = this.annotationColorScales[u.id].scale, a = V(o, n), C = _([a[0], a[a.length - 1]], [i, 0]);
157
- l.push({ ...c, type: "continuous", id: u.id, tickPositionScale: C, title: h, scale: o, values: a });
167
+ if (t.forEach((l) => {
168
+ const c = l.valueColumn.label ?? l.valueColumn.value;
169
+ if (l.type === "continuous") {
170
+ const n = this.annotationColorScales[l.id].scale, o = K(n, i), C = v([o[0], o[o.length - 1]], [a, 0]);
171
+ h.push({ ...d, type: "continuous", id: l.id, tickPositionScale: C, title: c, scale: n, values: o });
158
172
  }
159
- if (u.type === "discrete") {
160
- const o = this.annotationColorScales[u.id].scale, a = o.domain(), C = z(a);
161
- l.push({ ...c, type: "discreteColor", id: u.id, title: h, scale: o, values: a, labels: C });
173
+ if (l.type === "discrete") {
174
+ const n = this.annotationColorScales[l.id].scale, o = n.domain(), C = A(o);
175
+ h.push({ ...d, type: "discreteColor", id: l.id, title: c, scale: n, values: o, labels: C });
162
176
  }
163
- }), !l.length) {
177
+ }), !h.length) {
164
178
  this.legend = { width: 0, height: 0, items: [] };
165
179
  return;
166
180
  }
167
- const S = Ct(l, this.chartSizes.chartHeight), d = S[S.length - 1], f = d.left + d.width + ot;
181
+ const x = ct(h, this.chartSizes.chartHeight), m = x[x.length - 1], y = m.left + m.width + dt;
168
182
  this.legend = {
169
- width: f,
170
- height: i,
171
- items: S
183
+ width: y,
184
+ height: a,
185
+ items: x
172
186
  };
173
187
  }
174
- updateCaptionsSize(e, t, s, r) {
175
- const n = new xt("bold 14px Arial"), { xGroupKeys: i, yGroupKeys: l, xGroupLabels: c, yGroupLabels: z, xKeysByGroups: S, yKeysByGroups: d, xLabels: f, yLabels: u } = e.meta;
188
+ updateCaptionsSize(s, e, t, r) {
189
+ const i = new ut("bold 16px Manrope"), { xGroupKeys: a, yGroupKeys: h, xGroupLabels: d, yGroupLabels: A, xKeysByGroups: x, yKeysByGroups: m, xLabels: y, yLabels: l } = s.meta;
176
190
  this.labelAngles = {
177
- xAxisLabels: t.axisLabelsAngle,
178
- yAxisLabels: s.axisLabelsAngle,
179
- xGroupLabels: t.groupLabelsAngle,
180
- yGroupLabels: s.groupLabelsAngle
191
+ xAxisLabels: e.axisLabelsAngle,
192
+ yAxisLabels: t.axisLabelsAngle,
193
+ xGroupLabels: e.groupLabelsAngle,
194
+ yGroupLabels: t.groupLabelsAngle
181
195
  };
182
- function h(H, R) {
183
- let v = 0;
184
- for (const w of H) {
185
- const G = n.getTextWidth(R[w]);
186
- G > v && (v = G);
187
- }
188
- return v;
189
- }
190
- const o = F.flatten(Object.values(S)), a = F.flatten(Object.values(d)), C = h(o, f), m = h(a, u), p = h(i, c), g = h(l, z), { xCaptionTail: y, yCaptionTail: A } = ct(
196
+ const c = a.reduce((f, S) => Math.max(f, O(x[S], y, i)), 0), n = h.reduce((f, S) => Math.max(f, O(m[S], l, i)), 0), o = O(a, d, i), C = O(h, A, i), { xCaptionTail: u, yCaptionTail: g } = yt(
191
197
  this.labelAngles,
192
198
  r,
199
+ this.scales,
193
200
  this.step,
194
- e,
195
- n
196
- ), E = this.labelAngles.xGroupLabels / 180 * Math.PI, N = this.labelAngles.yGroupLabels / 180 * Math.PI, M = this.labelAngles.xAxisLabels / 180 * Math.PI, D = this.labelAngles.yAxisLabels / 180 * Math.PI;
201
+ s,
202
+ i
203
+ );
197
204
  this.captionsSizes = {
198
- xCaptionTail: y,
199
- yCaptionTail: A,
200
- xGroupCaptions: p * Math.sin(E) || j,
201
- yGroupCaptions: g * Math.sin(N) || j,
202
- xAxisCaptions: C * Math.sin(M) || j,
203
- yAxisCaptions: m * Math.sin(D) || j
205
+ xCaptionTail: u,
206
+ yCaptionTail: g,
207
+ xGroupCaptions: U(o, this.labelAngles.xGroupLabels),
208
+ yGroupCaptions: U(C, this.labelAngles.yGroupLabels),
209
+ xAxisCaptions: U(c, this.labelAngles.xAxisLabels),
210
+ yAxisCaptions: U(n, this.labelAngles.yAxisLabels)
204
211
  };
205
212
  }
206
- updateChartDimensions(e, t, s, r, n, i, l, c, z, S) {
207
- const d = t.length, f = Math.min(n.nRows ?? d, d), u = Math.min(n.nCols ?? d, d);
208
- this.columnsCount = n.nRows ? Math.ceil(d / f) : u, this.rowsCount = Math.ceil(d / this.columnsCount);
209
- const { width: h, height: o } = e, { sharedX: a, sharedY: C } = n;
213
+ updateChartDimensions(s, e, t, r, i, a, h, d, A, x) {
214
+ const m = e.length, y = Math.min(i.nRows ?? m, m), l = Math.min(i.nCols ?? m, m);
215
+ this.columnsCount = i.nRows ? Math.ceil(m / y) : l, this.rowsCount = Math.ceil(m / this.columnsCount);
216
+ const { width: c, height: n } = s, { sharedX: o, sharedY: C } = i;
210
217
  this.chartsDimensions = {};
211
- let m = 0, p = 0;
212
- t.forEach((A, E) => {
213
- const N = E % this.columnsCount + 1, M = ut(E, t.length, this.columnsCount, this.rowsCount), D = this.step.x[A], H = this.step.y[A], R = at(
214
- i,
215
- l,
218
+ let u = 0, g = 0;
219
+ e.forEach((z, E) => {
220
+ const I = E % this.columnsCount + 1, M = lt(E, e.length, this.columnsCount, this.rowsCount), B = this.step.x[z], R = this.step.y[z], N = xt(
221
+ a,
222
+ h,
216
223
  this.captionsSizes,
217
- c,
218
- z,
219
- S,
224
+ d,
225
+ A,
226
+ x,
220
227
  M,
221
- a,
228
+ o,
222
229
  C,
230
+ e,
223
231
  t,
224
- s,
225
232
  r,
226
- D,
227
- H
228
- ), v = ht(c, M, a, C);
229
- function w(B) {
233
+ B,
234
+ R
235
+ ), F = St(d, M, o, C);
236
+ function D(H) {
230
237
  return Math.max(
231
- it[B].reduce((L, T) => L + R[B][T], 0),
232
- v[B],
233
- nt
238
+ mt[H].reduce((L, G) => L + N[H][G], 0),
239
+ F[H],
240
+ gt
234
241
  );
235
242
  }
236
- const G = {
237
- left: w("left"),
238
- right: w("right"),
239
- top: w("top"),
240
- bottom: w("bottom")
243
+ const T = {
244
+ left: D("left"),
245
+ right: D("right"),
246
+ top: D("top"),
247
+ bottom: D("bottom")
241
248
  };
242
- G.left < this.captionsSizes.xCaptionTail && (G.left = this.captionsSizes.xCaptionTail), G.bottom < this.captionsSizes.yCaptionTail && (G.bottom = this.captionsSizes.yCaptionTail);
243
- const P = rt(R, h, o), k = h + G.left + G.right, O = o + G.top + G.bottom;
244
- this.chartsDimensions[A] = {
245
- left: m,
246
- top: p,
247
- inner: { width: h, height: o },
248
- outer: { width: k, height: O },
249
- padding: G,
250
- sideElementBBoxes: P,
249
+ T.left < this.captionsSizes.xCaptionTail && (T.left = this.captionsSizes.xCaptionTail), T.bottom < this.captionsSizes.yCaptionTail && (T.bottom = this.captionsSizes.yCaptionTail);
250
+ const W = Ct(N, c, n), j = c + T.left + T.right, k = n + T.top + T.bottom;
251
+ this.chartsDimensions[z] = {
252
+ left: u,
253
+ top: g,
254
+ inner: { width: c, height: n },
255
+ outer: { width: j, height: k },
256
+ padding: T,
257
+ sideElementBBoxes: W,
251
258
  chartEdgeSides: M
252
- }, m += k, N === this.columnsCount && (m = 0, p += O);
259
+ }, u += j, I === this.columnsCount && (u = 0, g += k);
253
260
  });
254
- const g = t.slice(0, this.columnsCount).reduce((A, E) => A + this.chartsDimensions[E].outer.width, 0), y = t.filter((A, E) => E % this.columnsCount === 0).reduce((A, E) => A + this.chartsDimensions[E].outer.height, 0);
255
- this.chartSizes.chartsWidth = g, this.chartSizes.chartsHeight = y;
261
+ const f = e.slice(0, this.columnsCount).reduce((z, E) => z + this.chartsDimensions[E].outer.width, 0), S = e.filter((z, E) => E % this.columnsCount === 0).reduce((z, E) => z + this.chartsDimensions[E].outer.height, 0);
262
+ this.chartSizes.chartsWidth = f, this.chartSizes.chartsHeight = S;
256
263
  }
257
- updateChartsSizes(e) {
258
- const { width: t, height: s } = e;
259
- this.chartSizes.chartWidth = t, this.chartSizes.chartHeight = s;
264
+ updateChartsSizes(s) {
265
+ const { width: e, height: t } = s;
266
+ this.chartSizes.chartWidth = e, this.chartSizes.chartHeight = t;
260
267
  }
261
268
  // update scales for cell positions, x and y for each facet
262
- updateScales(e, t, s, r, n, i, l, c, z) {
263
- const { width: S, height: d } = n, { meta: f, facets: u } = t, { sharedX: h, sharedY: o } = r, a = (m, p = {}) => m.sort(
264
- (g, y) => i.sorting === "asc" ? (p[g] ?? g).localeCompare(p[y] ?? y, "en", { numeric: !0 }) : (p[y] ?? y).localeCompare(p[g] ?? g, "en", { numeric: !0 })
265
- ), C = (m, p = {}) => m.sort(
266
- (g, y) => l.sorting === "asc" ? (p[g] ?? g).localeCompare(p[y] ?? y, "en", { numeric: !0 }) : (p[y] ?? y).localeCompare(p[g] ?? g, "en", { numeric: !0 })
269
+ updateScales(s, e, t, r, i, a, h, d, A) {
270
+ const { width: x, height: m } = i, { meta: y, facets: l } = e, { sharedX: c, sharedY: n } = r, o = (u, g = {}) => u.sort(
271
+ (f, S) => a.sorting === "asc" ? (g[f] ?? f).localeCompare(g[S] ?? S, "en", { numeric: !0 }) : (g[S] ?? S).localeCompare(g[f] ?? f, "en", { numeric: !0 })
272
+ ), C = (u, g = {}) => u.sort(
273
+ (f, S) => h.sorting === "asc" ? (g[f] ?? f).localeCompare(g[S] ?? S, "en", { numeric: !0 }) : (g[S] ?? S).localeCompare(g[f] ?? f, "en", { numeric: !0 })
267
274
  );
268
- e.forEach((m) => {
269
- const p = u[m], g = a(f.xGroupKeys), y = C(f.yGroupKeys), { xKeysByGroups: A } = h ? f : p, { yKeysByGroups: E } = o ? f : p, N = g.map((L) => A[L].length), M = y.map((L) => E[L].length), D = N.reduce((L, T) => L + T, 0), H = M.reduce((L, T) => L + T, 0), R = (S - (N.filter((L) => L > 0).length - 1) * s) / D, v = (d - (M.filter((L) => L > 0).length - 1) * s) / H, w = [], G = [];
270
- let P = 0;
271
- g.forEach((L) => {
272
- const T = c ? A[L] : a(A[L], f.xLabels);
273
- G.push(...T), T.forEach(() => {
274
- w.push(P), P += R;
275
- }), T.length > 0 && (P += s);
275
+ s.forEach((u) => {
276
+ const g = l[u], f = o(y.xGroupKeys), S = C(y.yGroupKeys), { xKeysByGroups: z } = c ? y : g, { yKeysByGroups: E } = n ? y : g, I = f.map((L) => z[L].length), M = S.map((L) => E[L].length), B = I.reduce((L, G) => L + G, 0), R = M.reduce((L, G) => L + G, 0), N = (x - (I.filter((L) => L > 0).length - 1) * t) / B, F = (m - (M.filter((L) => L > 0).length - 1) * t) / R, D = [], T = [];
277
+ let W = 0;
278
+ f.forEach((L) => {
279
+ const G = d ? z[L] : o(z[L], y.xLabels);
280
+ T.push(...G), G.forEach(() => {
281
+ D.push(W), W += N;
282
+ }), G.length > 0 && (W += t);
276
283
  });
277
- const k = [], O = [];
278
- let B = 0;
279
- y.forEach((L) => {
280
- const T = z ? E[L] : C(E[L], f.yLabels);
281
- O.push(...T), T.forEach(() => {
282
- k.push(B), B += v;
283
- }), T.length > 0 && (B += s);
284
- }), this.scales.x[m] = W().domain(G).range(w), this.scales.y[m] = W().domain(O).range(k), this.step.x[m] = R, this.step.y[m] = v;
284
+ const j = [], k = [];
285
+ let H = 0;
286
+ S.forEach((L) => {
287
+ const G = A ? E[L] : C(E[L], y.yLabels);
288
+ k.push(...G), G.forEach(() => {
289
+ j.push(H), H += F;
290
+ }), G.length > 0 && (H += t);
291
+ }), this.scales.x[u] = _().domain(T).range(D), this.scales.y[u] = _().domain(k).range(j), this.step.x[u] = N, this.step.y[u] = F;
285
292
  });
286
293
  }
287
- updateAesScale(e, t, s, r, n, i, l) {
288
- if (e === "continuous")
289
- s.valueColors ? this.colorScale = _().domain(s.valuesByColors ?? $(l, s.valueColors.length, t)).range(s.valueColors) : s.colorsList && (this.colorScale = _().domain($(l, s.colorsList.length, t)).range(s.colorsList));
290
- else if (s.colorsMap) {
291
- const S = Object.entries(s.colorsMap);
292
- this.colorScale = W().domain(S.map((d) => d[0])).range(S.map((d) => d[1])).unknown("#ccc");
293
- } else s.colorsList && (this.colorScale = q(s.colorsList, i.map(String)));
294
- const { xDataByKeys: c, yDataByKeys: z } = n.meta;
295
- r.forEach((S) => {
296
- const { colors: d, type: f, axis: u, valueColumn: h } = S, o = (u === "x" ? c : z)[h.value];
297
- if (f === "discrete") {
298
- const a = F.uniq(Object.values(o).map(String)).sort();
299
- this.annotationColorScales[S.id] = {
294
+ updateAesScale(s, e, t, r, i, a, h) {
295
+ if (s === "continuous")
296
+ t.valueColors ? this.colorScale = v().domain(t.valuesByColors ?? tt(h, t.valueColors.length, e)).range(t.valueColors) : t.colorsList && (this.colorScale = v().domain(tt(h, t.colorsList.length, e)).range(t.colorsList));
297
+ else if (t.colorsMap) {
298
+ const x = Object.entries(t.colorsMap);
299
+ this.colorScale = _().domain(x.map((m) => m[0])).range(x.map((m) => m[1])).unknown("#ccc");
300
+ } else t.colorsList && (this.colorScale = J(t.colorsList, a.map(String)));
301
+ const { xDataByKeys: d, yDataByKeys: A } = i.meta;
302
+ r.forEach((x) => {
303
+ const { colors: m, type: y, axis: l, valueColumn: c } = x, n = (l === "x" ? d : A)[c.value];
304
+ if (y === "discrete") {
305
+ const o = ot.uniq(Object.values(n).map(String)).sort();
306
+ this.annotationColorScales[x.id] = {
300
307
  type: "discrete",
301
- scale: q(d, a)
308
+ scale: J(m, o)
302
309
  };
303
310
  } else {
304
- const a = Object.values(o).map(Number);
305
- if (!a.length)
311
+ const o = Object.values(n).map(Number);
312
+ if (!o.length)
306
313
  return;
307
- const [C = a[0], m = a[0]] = St(a);
308
- this.annotationColorScales[S.id] = {
314
+ const [C = o[0], u = o[0]] = Lt(o);
315
+ this.annotationColorScales[x.id] = {
309
316
  type: "continuous",
310
- scale: lt(d, C, m, 0, 0.5, 1)
317
+ scale: ft(m, C, u, 0, 0.5, 1)
311
318
  };
312
319
  }
313
320
  });
314
321
  }
315
- updateDendrogram(e, t, s, r, n, i, l) {
316
- e.forEach((c) => {
317
- this.dendrograms[c] = { x: { trees: [], data: i }, y: { trees: [], data: l } };
318
- const { xKeysByGroups: z, yKeysByGroups: S } = r[c], { hierarchyX: d, hierarchyY: f } = n[c], u = Math.max(...d.map((o) => o.data.height)), h = Math.max(...f.map((o) => o.data.height));
319
- i && (this.dendrograms[c].x.trees = d.map((o, a) => {
320
- const C = t[a], m = z[C];
321
- J().separation(() => 1).size([m.length * this.step.x[c], i.size])(
322
- o
323
- );
324
- const p = o, g = _().domain(i.position === "top" ? [0, u] : [u, 0]).range([i.size, 0]);
325
- return Q(p, g, "y"), Z(p, this.scales.x[c](m[0]), "x"), p;
326
- }), this.dendrograms[c].x.data = i), l && (this.dendrograms[c].y.trees = f.map((o, a) => {
327
- const C = s[a], m = S[C];
328
- J().separation(() => 1).size([m.length * this.step.y[c], l.size])(
329
- o
330
- );
331
- const p = o, g = _().domain(l.position === "left" ? [0, h] : [h, 0]).range([l.size, 0]);
332
- return Z(p, this.scales.y[c](m[0]), "x", "y"), Q(p, g, "x"), p;
333
- }), this.dendrograms[c].y.data = l);
322
+ updateDendrogram(s, e, t, r, i, a, h) {
323
+ s.forEach((d) => {
324
+ this.dendrograms[d] = { x: { treesByGroupKey: {}, data: a }, y: { treesByGroupKey: {}, data: h } };
325
+ const { xKeysByGroups: A, yKeysByGroups: x } = r[d], { hierarchyByGroupX: m, hierarchyByGroupY: y } = i[d];
326
+ if (a) {
327
+ const l = e.reduce((c, n) => {
328
+ var o;
329
+ return Math.max(c, (o = m[n]) == null ? void 0 : o.data.height);
330
+ }, 0);
331
+ this.dendrograms[d].x.treesByGroupKey = e.reduce((c, n) => {
332
+ const o = m[n], C = A[n];
333
+ Q().separation(() => 1).size([C.length * this.step.x[d], a.size])(
334
+ o
335
+ );
336
+ const u = o, g = v().domain(a.position === "top" ? [0, l] : [l, 0]).range([a.size, 0]);
337
+ return Z(u, g, "y"), $(u, this.scales.x[d](C[0]), "x"), c[n] = u, c;
338
+ }, {}), this.dendrograms[d].x.data = a;
339
+ }
340
+ if (h) {
341
+ const l = t.reduce((c, n) => {
342
+ var o;
343
+ return Math.max(c, (o = y[n]) == null ? void 0 : o.data.height);
344
+ }, 0);
345
+ this.dendrograms[d].y.treesByGroupKey = t.reduce((c, n) => {
346
+ const o = y[n], C = x[n];
347
+ Q().separation(() => 1).size([C.length * this.step.y[d], h.size])(
348
+ o
349
+ );
350
+ const u = o, g = v().domain(h.position === "left" ? [0, l] : [l, 0]).range([h.size, 0]);
351
+ return $(u, this.scales.y[d](C[0]), "x", "y"), Z(u, g, "x"), c[n] = u, c;
352
+ }, {}), this.dendrograms[d].y.data = h;
353
+ }
334
354
  });
335
355
  }
336
- updateDendrogramAesScales(e) {
337
- if (!e)
356
+ updateDendrogramAesScales(s) {
357
+ if (!s)
338
358
  return;
339
- const t = Object.keys(e);
340
- this.dendrogramAesScales = t.reduce((s, r) => {
341
- const n = e[r], i = Object.keys(n);
342
- return s[r] = W().domain(i).range(
343
- i.map((l) => ({
344
- ...Y,
345
- ...n[l]
359
+ const e = Object.keys(s);
360
+ this.dendrogramAesScales = e.reduce((t, r) => {
361
+ const i = s[r], a = Object.keys(i);
362
+ return t[r] = _().domain(a).range(
363
+ a.map((h) => ({
364
+ ...V,
365
+ ...i[h]
346
366
  }))
347
- ).unknown(Y), s;
367
+ ).unknown(V), t;
348
368
  }, {});
349
369
  }
350
- render(e, t, s, r, n, i, l, c, z, S, d, f, u, h) {
351
- var H;
352
- const { meta: o, facets: a } = n, { facetKeys: C, xGroupKeys: m, yGroupKeys: p, valueExtent: g } = o, { xAxis: y, yAxis: A, title: E, size: N, valueType: M } = t;
353
- this.updateChartsSizes(N), this.updateAesScale(M, g, r, i, n, f, u), this.updateScales(C, n, r.groupGap, s, N, t.xAxis, t.yAxis, c, z), this.updateCaptionsSize(n, y, A, s), this.updateChartDimensions(
354
- N,
355
- C,
356
- m,
357
- p,
358
- s,
359
- y,
370
+ render(s, e, t, r, i, a, h, d, A, x, m, y, l, c, n) {
371
+ var N;
372
+ const { meta: o, facets: C } = a, { facetKeys: u, xGroupKeys: g, yGroupKeys: f, valueExtent: S } = o, { xAxis: z, yAxis: E, title: I, size: M, valueType: B } = t;
373
+ this.updateChartsSizes(M), this.updateAesScale(B, S, i, h, a, l, c), this.updateScales(u, a, i.groupGap, r, M, t.xAxis, t.yAxis, A, x), this.updateCaptionsSize(a, z, E, r), this.updateChartDimensions(
374
+ M,
375
+ u,
376
+ g,
377
+ f,
378
+ r,
379
+ z,
380
+ E,
381
+ h,
360
382
  A,
361
- i,
362
- c,
363
- z
364
- ), this.updateLegendSize(M, t.legend, i, l, g), this.updateMargins(E), this.updateDendrogram(C, m, p, a, S, c, z), this.updateDendrogramAesScales(d);
365
- const D = /* @__PURE__ */ K.jsx(
366
- gt,
383
+ x
384
+ ), this.updateLegendSize(B, t.legend, h, d, S), this.updateMargins(I), this.updateDendrogram(u, g, f, C, m, A, x), this.updateDendrogramAesScales(y);
385
+ const R = /* @__PURE__ */ P.jsx(rt, { dataFrame: s, children: /* @__PURE__ */ P.jsx(
386
+ pt,
367
387
  {
368
- aes: r,
369
- annotations: i,
388
+ aes: i,
389
+ annotations: h,
370
390
  annotationColorScales: this.annotationColorScales,
371
391
  captionsSizes: this.captionsSizes,
372
392
  cellsMeta: o,
@@ -377,28 +397,28 @@ class kt {
377
397
  colorScale: this.colorScale,
378
398
  dendrogramAesScales: this.dendrogramAesScales,
379
399
  dendrograms: this.dendrograms,
380
- facetKeys: C,
381
- facetSettings: s,
382
- groupedCells: a,
400
+ facetKeys: u,
401
+ facetSettings: r,
402
+ groupedCells: C,
383
403
  labelAngles: this.labelAngles,
384
404
  legend: this.legend,
385
405
  margins: this.margins,
386
406
  scales: this.scales,
387
407
  settingsId: e,
388
408
  step: this.step,
389
- xGroupKeys: m,
390
- yGroupKeys: p,
391
- onTooltipHintSwitch: h
409
+ xGroupKeys: g,
410
+ yGroupKeys: f,
411
+ onTooltipHintSwitch: n
392
412
  }
393
- );
394
- this.component = D, (H = this.reactRoot) == null || H.render(D);
413
+ ) });
414
+ this.component = R, (N = this.reactRoot) == null || N.render(R);
395
415
  }
396
- renderError(e) {
397
- var t;
398
- (t = this.reactRoot) == null || t.render(/* @__PURE__ */ K.jsx(et, { message: e }));
416
+ renderError(s) {
417
+ var e;
418
+ (e = this.reactRoot) == null || e.render(/* @__PURE__ */ P.jsx(nt, { message: s }));
399
419
  }
400
420
  }
401
421
  export {
402
- kt as default
422
+ qt as default
403
423
  };
404
424
  //# sourceMappingURL=ChartRenderer.js.map