@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 +1 @@
1
- {"version":3,"file":"Chart.js","sources":["../../../src/heatmap/components/Chart.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport type { ColumnName, DataValue } from '../../types';\nimport { FACET_TITLE_OFFSET, FONT_SIZE } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Annotations } from './Annotations';\nimport { Captions } from './Captions';\nimport { Dendrograms } from './Dendrograms';\nimport { Frames } from './Frames';\nimport type { AnnotationColorScales, AnnotationTooltipData, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartScales, ChartSizes, DendrogramAesScales, LabelAngles, Margins } from './types';\n\nfunction formatCellValue (v:DataValue):number|string {\n if (v === null) {\n return 'null';\n }\n if (typeof v === 'number') {\n const whole = v > 0 ? Math.floor(v) : Math.ceil(v);\n const decimal = v - whole;\n return whole + Number(decimal.toPrecision(2));\n }\n return v;\n}\nfunction getTooltipContent(cell: Cell, cellsMeta:GroupedCellsData['meta'], columnsList: ColumnName[] = []) {\n const row = cell.data;\n const lines = [\n `X: ${cellsMeta.xLabels[cell.x as string]}`,\n `Y: ${cellsMeta.yLabels[cell.y as string]}`,\n `Value: ${formatCellValue(cell.value)}${cell.value !== cell.normalizedValue ? ` (${formatCellValue(cell.normalizedValue)})`: ''}`,\n ];\n for (const column of columnsList) {\n lines.push(`${column.label}: ${row[column.valueLabels ?? column.value]}`);\n }\n return lines;\n}\nfunction getAnnotationTooltipContent(data:AnnotationTooltipData, cellsMeta:GroupedCellsData['meta']) {\n const lines:string[] = [];\n if (data.xKey) {\n lines.push(`X: ${cellsMeta.xLabels[data.xKey as string]}`);\n }\n if (data.yKey) {\n lines.push(`Y: ${cellsMeta.yLabels[data.yKey as string]}`);\n }\n lines.push(`${data.title}: ${formatCellValue(data.value)}`);\n return lines;\n}\n\nfunction isAnnotationTooltip(d:Cell|AnnotationTooltipData|null):d is AnnotationTooltipData {\n return d !== null && !('data' in d);\n}\nfunction isCellTooltip(d:Cell|AnnotationTooltipData|null):d is Cell {\n return d !== null && 'data' in d;\n}\n\nexport function Chart<ValueType>({\n dendrograms,\n facetKey,\n dimensions,\n scales,\n cells,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n colorScale,\n chartSettings,\n cellsMeta,\n stepX,\n stepY,\n sharedX,\n sharedY,\n annotations,\n annotationColorScales,\n dendrogramAesScales,\n aes,\n labelAngles,\n chartSizes,\n margins,\n tooltipsContainer,\n tooltipsData,\n}: {\n facetKey: string;\n chartSizes: ChartSizes;\n captionsSizes: CaptionsSizes;\n dimensions: ChartDimensionsData;\n scales: ChartScales;\n cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];\n xKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['yKeysByGroups'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n colorScale: (value: ValueType) => string;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n cellsMeta: GroupedCellsData['meta'];\n stepX: number;\n stepY: number;\n annotations: HeatmapSettingsImpl['annotations'];\n annotationColorScales: AnnotationColorScales;\n sharedX: boolean;\n sharedY: boolean;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: ChartDendrograms;\n dendrogramAesScales: DendrogramAesScales;\n labelAngles: LabelAngles;\n margins: Margins;\n tooltipsContainer?: Element;\n tooltipsData: TooltipsData<Cell|AnnotationTooltipData>;\n}) {\n const [activeElementContainer, setActiveElementContainer] = useState<SVGGElement>();\n\n const {xAxis, yAxis, tooltips} = chartSettings;\n const {width, height} = dimensions.inner;\n const {padding, chartEdgeSides, sideElementBBoxes} = dimensions;\n const {xGroupLabels, yGroupLabels, xLabels, yLabels} = cellsMeta;\n\n const xKeys = scales.x.domain();\n const yKeys = scales.y.domain();\n\n const sideDistances = {\n left: margins.left + dimensions.left + padding.left,\n right: chartSizes.totalWidth - (margins.left + dimensions.left + padding.left),\n top: margins.top + dimensions.top + padding.top,\n bottom: chartSizes.totalHeight - (margins.top + dimensions.top + padding.top),\n };\n\n const debug = false;\n const isDimmedBackground = activeElementContainer && tooltipsData.fixed;\n\n return (\n <g transform={`translate(${dimensions.left},${dimensions.top})`} fontSize={FONT_SIZE}>\n <g transform={`translate(${padding.left},${padding.top})`}>\n <Annotations\n facetKey={facetKey}\n sideElementBBoxes={sideElementBBoxes}\n annotations={annotations}\n cellsMeta={cellsMeta}\n annotationColorScales={annotationColorScales}\n sharedX={sharedX}\n sharedY={sharedY}\n chartEdgeSides={chartEdgeSides}\n width={width}\n height={height}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n tooltipsData={tooltipsData}\n activeElementContainer={activeElementContainer}\n />\n <Dendrograms\n dendrograms={dendrograms}\n sideElementBBoxes={sideElementBBoxes}\n xDataByKeys={cellsMeta.xDataByKeys}\n yDataByKeys={cellsMeta.yDataByKeys}\n aesScales={dendrogramAesScales}\n />\n {/* facet title */}\n {sideElementBBoxes.top.facetTitle.isVisible && (\n <text\n x={sideElementBBoxes.top.facetTitle.x}\n y={\n sideElementBBoxes.top.facetTitle.y +\n sideElementBBoxes.top.facetTitle.height -\n FACET_TITLE_OFFSET\n }\n fontWeight=\"500\"\n fontSize=\"20px\"\n >\n {cellsMeta.facetKeyValues[facetKey].join(', ')}\n </text>\n )}\n {debug && (\n <g fill=\"green\" opacity=\"0.2\">\n <rect\n x={-padding.left}\n y={-padding.top}\n width={dimensions.outer.width}\n height={dimensions.outer.height}\n fill=\"none\"\n stroke=\"red\"\n />\n <rect x={-padding.left} y=\"0\" width={padding.left} height={height} />\n <rect x={width} y=\"0\" width={padding.right} height={height} />\n <rect x=\"0\" y={-padding.top} width={width} height={padding.top} />\n <rect x=\"0\" y={height} width={width} height={padding.bottom} />\n </g>\n )}\n {/* cells */}\n {xKeys.map(xKey =>\n yKeys.map(yKey => {\n const cell = cells?.[xKey]?.[yKey];\n const highlighted = isDimmedBackground && isCellTooltip(tooltipsData.selectedData) && cell?.id === tooltipsData.selectedData.id;\n const cellElement = cell ? (\n <rect\n key={cell ? cell.id : `${xKey}_${yKey}`}\n x={scales.x(xKey)}\n y={scales.y(yKey)}\n width={stepX}\n height={stepY}\n stroke={aes.cellStrokeColor}\n fill={cell.value === null ? aes.emptyCellColor : colorScale(cell.normalizedValue as ValueType)}\n onMouseOver={() => tooltipsData.onMouseEnter(cell, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n ) : null;\n return highlighted ? createPortal(cellElement, activeElementContainer) : cellElement;\n })\n )}\n <Frames\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n width={width}\n height={height}\n />\n <Captions\n xAxis={xAxis}\n yAxis={yAxis}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n debug={debug}\n sideElementBBoxes={sideElementBBoxes}\n xKeys={xKeys}\n yKeys={yKeys}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n xGroupLabels={xGroupLabels}\n yGroupLabels={yGroupLabels}\n labelAngles={labelAngles}\n xLabels={xLabels}\n yLabels={yLabels}\n />\n </g>\n {chartSettings.tooltips.show && isCellTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getTooltipContent(tooltipsData.selectedData, cellsMeta, tooltips?.content)}\n x={scales.x(String(tooltipsData.selectedData.x)) + stepX / 2}\n y={scales.y(String(tooltipsData.selectedData.y)) + stepY / 2}\n offset={xKeys.length > 1 ? stepX / 2 : 0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n {chartSettings.tooltips.show && isAnnotationTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getAnnotationTooltipContent(tooltipsData.selectedData, cellsMeta)}\n x={tooltipsData.selectedData.x}\n y={tooltipsData.selectedData.y}\n offset={0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n <g transform={`translate(${padding.left},${padding.top})`}>\n {tooltipsData.fixed && <rect width={chartSizes.chartWidth} height={chartSizes.chartHeight} fill=\"rgba(255, 255, 255, 0.8)\"/>}\n <g ref={node => {\n if (node && !activeElementContainer) {\n setActiveElementContainer(node);\n }\n }}\n />\n </g>\n </g>\n );\n}\n"],"names":["formatCellValue","v","whole","decimal","getTooltipContent","cell","cellsMeta","columnsList","row","lines","column","getAnnotationTooltipContent","data","isAnnotationTooltip","d","isCellTooltip","Chart","dendrograms","facetKey","dimensions","scales","cells","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","colorScale","chartSettings","stepX","stepY","sharedX","sharedY","annotations","annotationColorScales","dendrogramAesScales","aes","labelAngles","chartSizes","margins","tooltipsContainer","tooltipsData","activeElementContainer","setActiveElementContainer","useState","xAxis","yAxis","tooltips","width","height","padding","chartEdgeSides","sideElementBBoxes","xGroupLabels","yGroupLabels","xLabels","yLabels","xKeys","yKeys","sideDistances","debug","isDimmedBackground","jsxs","FONT_SIZE","jsx","Annotations","Dendrograms","FACET_TITLE_OFFSET","xKey","yKey","_a","highlighted","cellElement","createPortal","Frames","Captions","Tooltip","node"],"mappings":"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"}
1
+ {"version":3,"file":"Chart.js","sources":["../../../src/heatmap/components/Chart.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport type { DataFrame } from '../../DataFrame';\nimport type { ColumnName, DataValue } from '../../types';\nimport { FACET_TITLE_OFFSET, FONT_SIZE } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Annotations } from './Annotations';\nimport { Captions } from './Captions';\nimport { Dendrograms } from './Dendrograms';\nimport { Frames } from './Frames';\nimport type { AnnotationColorScales, AnnotationTooltipData, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartScales, ChartSizes, DendrogramAesScales, LabelAngles, Margins } from './types';\n\nfunction formatCellValue (v:DataValue):number|string {\n if (v === null) {\n return 'null';\n }\n if (typeof v === 'number') {\n const whole = v > 0 ? Math.floor(v) : Math.ceil(v);\n const decimal = v - whole;\n return whole + Number(decimal.toPrecision(2));\n }\n return v;\n}\nfunction getTooltipContent(dataFrame: DataFrame, cell: Cell, cellsMeta:GroupedCellsData['meta'], columnsList: ColumnName[] = []) {\n const lines = [\n `X: ${cellsMeta.xLabels[cell.x as string]}`,\n `Y: ${cellsMeta.yLabels[cell.y as string]}`,\n `Value: ${formatCellValue(cell.value)}${cell.value !== cell.normalizedValue ? ` (${formatCellValue(cell.normalizedValue)})`: ''}`,\n ];\n for (const column of columnsList) {\n lines.push(`${column.label}: ${dataFrame.getColumnValue(column.value, cell.idx)}`);\n }\n return lines;\n}\nfunction getAnnotationTooltipContent(data:AnnotationTooltipData, cellsMeta:GroupedCellsData['meta']) {\n const lines:string[] = [];\n if (data.xKey) {\n lines.push(`X: ${cellsMeta.xLabels[data.xKey as string]}`);\n }\n if (data.yKey) {\n lines.push(`Y: ${cellsMeta.yLabels[data.yKey as string]}`);\n }\n lines.push(`${data.title}: ${formatCellValue(data.value)}`);\n return lines;\n}\n\nfunction isAnnotationTooltip(d:Cell|AnnotationTooltipData|null):d is AnnotationTooltipData {\n return d !== null && 'isAnnotation' in d;\n}\n\nfunction isCellTooltip(d:Cell|AnnotationTooltipData|null):d is Cell {\n return d !== null && 'isCell' in d;\n}\n\nexport function Chart<ValueType>({\n dendrograms,\n facetKey,\n dimensions,\n scales,\n cells,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n colorScale,\n chartSettings,\n cellsMeta,\n stepX,\n stepY,\n sharedX,\n sharedY,\n annotations,\n annotationColorScales,\n dendrogramAesScales,\n aes,\n labelAngles,\n chartSizes,\n margins,\n tooltipsContainer,\n tooltipsData,\n}: {\n facetKey: string;\n chartSizes: ChartSizes;\n captionsSizes: CaptionsSizes;\n dimensions: ChartDimensionsData;\n scales: ChartScales;\n cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];\n xKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['yKeysByGroups'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n colorScale: (value: ValueType) => string;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n cellsMeta: GroupedCellsData['meta'];\n stepX: number;\n stepY: number;\n annotations: HeatmapSettingsImpl['annotations'];\n annotationColorScales: AnnotationColorScales;\n sharedX: boolean;\n sharedY: boolean;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: ChartDendrograms;\n dendrogramAesScales: DendrogramAesScales;\n labelAngles: LabelAngles;\n margins: Margins;\n tooltipsContainer?: Element;\n tooltipsData: TooltipsData<Cell|AnnotationTooltipData>;\n}) {\n const dataFrame = useDataFrame();\n const [activeElementContainer, setActiveElementContainer] = useState<SVGGElement>();\n\n const {xAxis, yAxis, tooltips} = chartSettings;\n const {width, height} = dimensions.inner;\n const {padding, chartEdgeSides, sideElementBBoxes} = dimensions;\n const {xGroupLabels, yGroupLabels, xLabels, yLabels} = cellsMeta;\n\n const xKeys = scales.x.domain();\n const yKeys = scales.y.domain();\n\n const sideDistances = {\n left: margins.left + dimensions.left + padding.left,\n right: chartSizes.totalWidth - (margins.left + dimensions.left + padding.left),\n top: margins.top + dimensions.top + padding.top,\n bottom: chartSizes.totalHeight - (margins.top + dimensions.top + padding.top),\n };\n\n const debug = false;\n const isDimmedBackground = activeElementContainer && tooltipsData.fixed;\n\n return (\n <g transform={`translate(${dimensions.left},${dimensions.top})`} fontSize={FONT_SIZE}>\n <g transform={`translate(${padding.left},${padding.top})`}>\n <Annotations\n facetKey={facetKey}\n sideElementBBoxes={sideElementBBoxes}\n annotations={annotations}\n cellsMeta={cellsMeta}\n annotationColorScales={annotationColorScales}\n sharedX={sharedX}\n sharedY={sharedY}\n chartEdgeSides={chartEdgeSides}\n width={width}\n height={height}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n tooltipsData={tooltipsData}\n activeElementContainer={activeElementContainer}\n />\n <Dendrograms\n dendrograms={dendrograms}\n sideElementBBoxes={sideElementBBoxes}\n xGroupKeys={cellsMeta.xGroupKeys}\n yGroupKeys={cellsMeta.yGroupKeys}\n xDataByKeys={cellsMeta.xDataByKeys}\n yDataByKeys={cellsMeta.yDataByKeys}\n aesScales={dendrogramAesScales}\n />\n {/* facet title */}\n {sideElementBBoxes.top.facetTitle.isVisible && (\n <text\n x={sideElementBBoxes.top.facetTitle.x}\n y={\n sideElementBBoxes.top.facetTitle.y +\n sideElementBBoxes.top.facetTitle.height -\n FACET_TITLE_OFFSET\n }\n fontWeight=\"500\"\n fontSize=\"20px\"\n >\n {cellsMeta.facetKeyValues[facetKey].join(', ')}\n </text>\n )}\n {debug && (\n <g fill=\"green\" opacity=\"0.2\">\n <rect\n x={-padding.left}\n y={-padding.top}\n width={dimensions.outer.width}\n height={dimensions.outer.height}\n fill=\"none\"\n stroke=\"red\"\n />\n <rect x={-padding.left} y=\"0\" width={padding.left} height={height} />\n <rect x={width} y=\"0\" width={padding.right} height={height} />\n <rect x=\"0\" y={-padding.top} width={width} height={padding.top} />\n <rect x=\"0\" y={height} width={width} height={padding.bottom} />\n </g>\n )}\n {/* cells */}\n {xKeys.map(xKey =>\n yKeys.map(yKey => {\n const cell = cells?.[xKey]?.[yKey];\n const highlighted = isDimmedBackground && isCellTooltip(tooltipsData.selectedData) && cell?.id === tooltipsData.selectedData.id;\n const cellElement = cell ? (\n <rect\n key={cell ? cell.id : `${xKey}_${yKey}`}\n x={scales.x(xKey)}\n y={scales.y(yKey)}\n width={stepX}\n height={stepY}\n stroke={aes.cellStrokeColor}\n fill={cell.value === null ? aes.emptyCellColor : colorScale(cell.normalizedValue as ValueType)}\n onMouseOver={() => tooltipsData.onMouseEnter(cell, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n ) : null;\n return highlighted ? createPortal(cellElement, activeElementContainer) : cellElement;\n })\n )}\n <Frames\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n width={width}\n height={height}\n />\n <Captions\n xAxis={xAxis}\n yAxis={yAxis}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n debug={debug}\n sideElementBBoxes={sideElementBBoxes}\n xKeys={xKeys}\n yKeys={yKeys}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n xGroupLabels={xGroupLabels}\n yGroupLabels={yGroupLabels}\n labelAngles={labelAngles}\n xLabels={xLabels}\n yLabels={yLabels}\n />\n </g>\n {chartSettings.tooltips.show && isCellTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipsData.selectedData, cellsMeta, tooltips?.content)}\n x={scales.x(String(tooltipsData.selectedData.x)) + stepX / 2}\n y={scales.y(String(tooltipsData.selectedData.y)) + stepY / 2}\n offset={xKeys.length > 1 ? stepX / 2 : 0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n {chartSettings.tooltips.show && isAnnotationTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getAnnotationTooltipContent(tooltipsData.selectedData, cellsMeta)}\n x={tooltipsData.selectedData.x}\n y={tooltipsData.selectedData.y}\n offset={0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n <g transform={`translate(${padding.left},${padding.top})`}>\n {tooltipsData.fixed && <rect width={chartSizes.chartWidth} height={chartSizes.chartHeight} fill=\"rgba(255, 255, 255, 0.8)\"/>}\n <g ref={node => {\n if (node && !activeElementContainer) {\n setActiveElementContainer(node);\n }\n }}\n />\n </g>\n </g>\n );\n}\n"],"names":["formatCellValue","v","whole","decimal","getTooltipContent","dataFrame","cell","cellsMeta","columnsList","lines","column","getAnnotationTooltipContent","data","isAnnotationTooltip","d","isCellTooltip","Chart","dendrograms","facetKey","dimensions","scales","cells","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","colorScale","chartSettings","stepX","stepY","sharedX","sharedY","annotations","annotationColorScales","dendrogramAesScales","aes","labelAngles","chartSizes","margins","tooltipsContainer","tooltipsData","useDataFrame","activeElementContainer","setActiveElementContainer","useState","xAxis","yAxis","tooltips","width","height","padding","chartEdgeSides","sideElementBBoxes","xGroupLabels","yGroupLabels","xLabels","yLabels","xKeys","yKeys","sideDistances","debug","isDimmedBackground","jsxs","FONT_SIZE","jsx","Annotations","Dendrograms","FACET_TITLE_OFFSET","xKey","yKey","_a","highlighted","cellElement","createPortal","Frames","Captions","Tooltip","node"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { LabelAngles, AnnotationColorScales, CaptionsSizes, ChartDendrograms, DendrogramAesScales, Margins, ChartDimensionsData, ChartSizes, ChartsScales } from './types';
1
+ import { LegendData } from '../../common/types';
2
2
  import { GroupedCellsData } from '../getCells';
3
3
  import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
4
- import { LegendData } from '../../common/types';
4
+ import { AnnotationColorScales, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartSizes, ChartsScales, DendrogramAesScales, LabelAngles, Margins } from './types';
5
5
  export declare function ChartsGroup({ margins, captionsSizes, settingsId, chartSettings, chartSizes, chartsDimensions, facetKeys, facetSettings, xGroupKeys, yGroupKeys, scales, colorScale, groupedCells, cellsMeta, step, annotations, annotationColorScales, legend, aes, dendrograms, dendrogramAesScales, columnsCount, labelAngles, onTooltipHintSwitch }: {
6
6
  margins: Margins;
7
7
  captionsSizes: CaptionsSizes;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartsGroup.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/ChartsGroup.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EACR,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAC,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAIhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,wBAAgB,WAAW,CAAC,EACxB,OAAO,EACP,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,WAAW,EACX,qBAAqB,EACrB,MAAM,EACN,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACtB,EAAE;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,EAAC,OAAO,KAAK,MAAM,CAAC;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,EAAE;QACF,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,EAAC,OAAO,KAAK,IAAI,CAAC;CAC5C,2CA6EA"}
1
+ {"version":3,"file":"ChartsGroup.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/ChartsGroup.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,KAAK,EACR,qBAAqB,EAAyB,aAAa,EAC3D,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAC7G,MAAM,SAAS,CAAC;AAEjB,wBAAgB,WAAW,CAAC,EACxB,OAAO,EACP,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,WAAW,EACX,qBAAqB,EACrB,MAAM,EACN,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACtB,EAAE;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,EAAC,OAAO,KAAK,MAAM,CAAC;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,EAAE;QACF,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,EAAC,OAAO,KAAK,IAAI,CAAC;CAC5C,2CA6EA"}
@@ -1,12 +1,12 @@
1
1
  import { j as t } from "../../node_modules/react/jsx-runtime.js";
2
- import { useTooltip as O } from "../../common/Tooltip.js";
3
- import { Chart as _ } from "./Chart.js";
4
- import { ErrorBoundary as b } from "../../common/ErrorBoundary.js";
5
- import { ChartsTitle as k } from "../../common/ChartsTitle.js";
6
- import { LEGEND_OFFSET as q } from "../constants.js";
7
2
  import { r as h } from "../../_virtual/index.js";
8
- import A from "../../common/fonts.js";
9
- import { Legend as J } from "../../common/Legend.js";
3
+ import { ChartsTitle as O } from "../../common/ChartsTitle.js";
4
+ import { ErrorBoundary as _ } from "../../common/ErrorBoundary.js";
5
+ import b from "../../common/fonts.js";
6
+ import { Legend as k } from "../../common/Legend.js";
7
+ import { useTooltip as q } from "../../common/Tooltip.js";
8
+ import { LEGEND_OFFSET as A } from "../constants.js";
9
+ import { Chart as J } from "./Chart.js";
10
10
  function oo({
11
11
  margins: s,
12
12
  captionsSizes: a,
@@ -33,12 +33,12 @@ function oo({
33
33
  labelAngles: P,
34
34
  onTooltipHintSwitch: X
35
35
  }) {
36
- const [Y, v] = h.useState(), F = O(X), e = h.useRef(null);
36
+ const [Y, v] = h.useState(), F = q(X), e = h.useRef(null);
37
37
  h.useEffect(() => {
38
38
  e.current && v(e.current);
39
39
  }, []);
40
- const u = p[i[0]].padding, L = p[i[W - 1]].padding, R = s.left + r.chartsWidth + q, H = s.top + u.top;
41
- return /* @__PURE__ */ t.jsx(b, { dataId: f, children: /* @__PURE__ */ t.jsxs(
40
+ const u = p[i[0]].padding, L = p[i[W - 1]].padding, R = s.left + r.chartsWidth + A, H = s.top + u.top;
41
+ return /* @__PURE__ */ t.jsx(_, { dataId: f, children: /* @__PURE__ */ t.jsxs(
42
42
  "svg",
43
43
  {
44
44
  xmlns: "http://www.w3.org/2000/svg",
@@ -47,10 +47,10 @@ function oo({
47
47
  height: r.totalHeight,
48
48
  fontFamily: "Manrope",
49
49
  children: [
50
- /* @__PURE__ */ t.jsx("defs", { children: A }),
50
+ /* @__PURE__ */ t.jsx("defs", { children: b }),
51
51
  /* @__PURE__ */ t.jsxs("g", { transform: `translate(${s.left},${s.top})`, children: [
52
52
  /* @__PURE__ */ t.jsx(
53
- k,
53
+ O,
54
54
  {
55
55
  title: [d.title.name],
56
56
  show: d.title.show,
@@ -63,7 +63,7 @@ function oo({
63
63
  i.map((o) => {
64
64
  const { cells: D, xKeysByGroups: I, yKeysByGroups: N } = w[o];
65
65
  return /* @__PURE__ */ t.jsx(
66
- _,
66
+ J,
67
67
  {
68
68
  dendrograms: T[o],
69
69
  captionsSizes: a,
@@ -96,7 +96,7 @@ function oo({
96
96
  );
97
97
  })
98
98
  ] }),
99
- /* @__PURE__ */ t.jsx("g", { transform: `translate(${R},${H})`, children: /* @__PURE__ */ t.jsx(J, { legendData: C }) }),
99
+ /* @__PURE__ */ t.jsx("g", { transform: `translate(${R},${H})`, children: /* @__PURE__ */ t.jsx(k, { legendData: C }) }),
100
100
  /* @__PURE__ */ t.jsx("g", { ref: e, style: { outline: "none" } })
101
101
  ]
102
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChartsGroup.js","sources":["../../../src/heatmap/components/ChartsGroup.tsx"],"sourcesContent":["import type {Cell} from '../getCells';\nimport {useTooltip} from '../../common/Tooltip';\nimport {Chart} from './Chart';\nimport {ErrorBoundary} from '../../common/ErrorBoundary';\nimport {ChartsTitle} from '../../common/ChartsTitle';\nimport type {AnnotationTooltipData} from './types';\nimport type {LabelAngles} from './types';\nimport type {\n AnnotationColorScales,\n CaptionsSizes,\n ChartDendrograms,\n DendrogramAesScales,\n Margins,\n} from './types';\nimport type {ChartDimensionsData, ChartSizes, ChartsScales} from './types';\nimport {LEGEND_OFFSET} from '../constants';\nimport type {GroupedCellsData} from '../getCells';\nimport type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\nimport React, {useEffect, useRef, useState} from 'react';\nimport fonts from '../../common/fonts';\nimport { Legend } from '../../common/Legend';\nimport type { LegendData } from '../../common/types';\n\nexport function ChartsGroup({\n margins,\n captionsSizes,\n settingsId,\n chartSettings,\n chartSizes,\n chartsDimensions,\n facetKeys,\n facetSettings,\n xGroupKeys,\n yGroupKeys,\n scales,\n colorScale,\n groupedCells,\n cellsMeta,\n step,\n annotations,\n annotationColorScales,\n legend,\n aes,\n dendrograms,\n dendrogramAesScales,\n columnsCount,\n labelAngles,\n onTooltipHintSwitch\n}: {\n margins: Margins;\n captionsSizes: CaptionsSizes;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n facetSettings: HeatmapSettingsImpl['facetSettings'];\n chartSizes: ChartSizes;\n chartsDimensions: Record<string, ChartDimensionsData>;\n scales: ChartsScales;\n facetKeys: string[];\n xGroupKeys: string[];\n yGroupKeys: string[];\n settingsId: string;\n colorScale: (value:unknown) => string;\n annotationColorScales: AnnotationColorScales;\n groupedCells: GroupedCellsData['facets'];\n cellsMeta: GroupedCellsData['meta'];\n annotations: HeatmapSettingsImpl['annotations'];\n step: {\n x: Record<string, number>;\n y: Record<string, number>;\n };\n legend: LegendData;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: Record<string, ChartDendrograms>;\n dendrogramAesScales: DendrogramAesScales;\n columnsCount: number;\n labelAngles: LabelAngles;\n onTooltipHintSwitch: (v:boolean) => void;\n}) {\n const [tooltipsContainer, setTooltipsContainer] = useState<SVGGElement>();\n const tooltipsData = useTooltip<Cell|AnnotationTooltipData>(onTooltipHintSwitch);\n const tooltipsRef = useRef<SVGGElement>(null);\n useEffect(() => {\n if (tooltipsRef.current) {\n setTooltipsContainer(tooltipsRef.current);\n }\n }, []);\n\n const leftTopChartPadding = chartsDimensions[facetKeys[0]].padding;\n const rightTopChartPadding = chartsDimensions[facetKeys[columnsCount - 1]].padding;\n\n const legendLeft = margins.left + chartSizes.chartsWidth + LEGEND_OFFSET;\n const legendTop = margins.top + leftTopChartPadding.top;\n\n return (\n <ErrorBoundary dataId={settingsId}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${chartSizes.totalWidth} ${chartSizes.totalHeight}`}\n width={chartSizes.totalWidth}\n height={chartSizes.totalHeight}\n fontFamily=\"Manrope\"\n >\n <defs>{fonts}</defs>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <ChartsTitle\n title={[chartSettings.title.name]}\n show={chartSettings.title.show}\n position={chartSettings.title.position}\n leftPadding={leftTopChartPadding.left}\n rightPadding={rightTopChartPadding.right}\n chartsWidth={chartSizes.chartsWidth}\n />\n {facetKeys.map(facetKey => {\n const {cells, xKeysByGroups, yKeysByGroups} = groupedCells[facetKey];\n return (\n <Chart\n dendrograms={dendrograms[facetKey]}\n captionsSizes={captionsSizes}\n key={facetKey}\n facetKey={facetKey}\n dimensions={chartsDimensions[facetKey]}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={facetSettings.sharedX ? cellsMeta.xKeysByGroups : xKeysByGroups}\n yKeysByGroups={facetSettings.sharedY ? cellsMeta.yKeysByGroups : yKeysByGroups}\n sharedX={facetSettings.sharedX}\n sharedY={facetSettings.sharedY}\n scales={{x: scales.x[facetKey], y: scales.y[facetKey]}}\n cells={cells}\n cellsMeta={cellsMeta}\n stepX={step.x[facetKey]}\n stepY={step.y[facetKey]}\n colorScale={colorScale}\n chartSettings={chartSettings}\n aes={aes}\n annotations={annotations}\n annotationColorScales={annotationColorScales}\n dendrogramAesScales={dendrogramAesScales}\n labelAngles={labelAngles}\n margins={margins}\n chartSizes={chartSizes}\n tooltipsContainer={tooltipsContainer}\n tooltipsData={tooltipsData}\n />\n );\n })}\n </g>\n <g transform={`translate(${legendLeft},${legendTop})`}>\n <Legend legendData={legend} />\n </g>\n <g ref={tooltipsRef} style={{outline: 'none'}} />\n </svg>\n </ErrorBoundary>\n );\n}\n"],"names":["ChartsGroup","margins","captionsSizes","settingsId","chartSettings","chartSizes","chartsDimensions","facetKeys","facetSettings","xGroupKeys","yGroupKeys","scales","colorScale","groupedCells","cellsMeta","step","annotations","annotationColorScales","legend","aes","dendrograms","dendrogramAesScales","columnsCount","labelAngles","onTooltipHintSwitch","tooltipsContainer","setTooltipsContainer","useState","tooltipsData","useTooltip","tooltipsRef","useRef","useEffect","leftTopChartPadding","rightTopChartPadding","legendLeft","LEGEND_OFFSET","legendTop","jsx","ErrorBoundary","jsxs","fonts","ChartsTitle","facetKey","cells","xKeysByGroups","yKeysByGroups","Chart","Legend"],"mappings":"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"}
1
+ {"version":3,"file":"ChartsGroup.js","sources":["../../../src/heatmap/components/ChartsGroup.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { ChartsTitle } from '../../common/ChartsTitle';\nimport { ErrorBoundary } from '../../common/ErrorBoundary';\nimport fonts from '../../common/fonts';\nimport { Legend } from '../../common/Legend';\nimport { useTooltip } from '../../common/Tooltip';\nimport type { LegendData } from '../../common/types';\nimport { LEGEND_OFFSET } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Chart } from './Chart';\nimport type {\n AnnotationColorScales, AnnotationTooltipData, CaptionsSizes,\n ChartDendrograms, ChartDimensionsData, ChartSizes, ChartsScales, DendrogramAesScales, LabelAngles, Margins\n} from './types';\n\nexport function ChartsGroup({\n margins,\n captionsSizes,\n settingsId,\n chartSettings,\n chartSizes,\n chartsDimensions,\n facetKeys,\n facetSettings,\n xGroupKeys,\n yGroupKeys,\n scales,\n colorScale,\n groupedCells,\n cellsMeta,\n step,\n annotations,\n annotationColorScales,\n legend,\n aes,\n dendrograms,\n dendrogramAesScales,\n columnsCount,\n labelAngles,\n onTooltipHintSwitch\n}: {\n margins: Margins;\n captionsSizes: CaptionsSizes;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n facetSettings: HeatmapSettingsImpl['facetSettings'];\n chartSizes: ChartSizes;\n chartsDimensions: Record<string, ChartDimensionsData>;\n scales: ChartsScales;\n facetKeys: string[];\n xGroupKeys: string[];\n yGroupKeys: string[];\n settingsId: string;\n colorScale: (value:unknown) => string;\n annotationColorScales: AnnotationColorScales;\n groupedCells: GroupedCellsData['facets'];\n cellsMeta: GroupedCellsData['meta'];\n annotations: HeatmapSettingsImpl['annotations'];\n step: {\n x: Record<string, number>;\n y: Record<string, number>;\n };\n legend: LegendData;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: Record<string, ChartDendrograms>;\n dendrogramAesScales: DendrogramAesScales;\n columnsCount: number;\n labelAngles: LabelAngles;\n onTooltipHintSwitch: (v:boolean) => void;\n}) {\n const [tooltipsContainer, setTooltipsContainer] = useState<SVGGElement>();\n const tooltipsData = useTooltip<Cell|AnnotationTooltipData>(onTooltipHintSwitch);\n const tooltipsRef = useRef<SVGGElement>(null);\n useEffect(() => {\n if (tooltipsRef.current) {\n setTooltipsContainer(tooltipsRef.current);\n }\n }, []);\n\n const leftTopChartPadding = chartsDimensions[facetKeys[0]].padding;\n const rightTopChartPadding = chartsDimensions[facetKeys[columnsCount - 1]].padding;\n\n const legendLeft = margins.left + chartSizes.chartsWidth + LEGEND_OFFSET;\n const legendTop = margins.top + leftTopChartPadding.top;\n\n return (\n <ErrorBoundary dataId={settingsId}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${chartSizes.totalWidth} ${chartSizes.totalHeight}`}\n width={chartSizes.totalWidth}\n height={chartSizes.totalHeight}\n fontFamily=\"Manrope\"\n >\n <defs>{fonts}</defs>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <ChartsTitle\n title={[chartSettings.title.name]}\n show={chartSettings.title.show}\n position={chartSettings.title.position}\n leftPadding={leftTopChartPadding.left}\n rightPadding={rightTopChartPadding.right}\n chartsWidth={chartSizes.chartsWidth}\n />\n {facetKeys.map(facetKey => {\n const {cells, xKeysByGroups, yKeysByGroups} = groupedCells[facetKey];\n return (\n <Chart\n dendrograms={dendrograms[facetKey]}\n captionsSizes={captionsSizes}\n key={facetKey}\n facetKey={facetKey}\n dimensions={chartsDimensions[facetKey]}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={facetSettings.sharedX ? cellsMeta.xKeysByGroups : xKeysByGroups}\n yKeysByGroups={facetSettings.sharedY ? cellsMeta.yKeysByGroups : yKeysByGroups}\n sharedX={facetSettings.sharedX}\n sharedY={facetSettings.sharedY}\n scales={{x: scales.x[facetKey], y: scales.y[facetKey]}}\n cells={cells}\n cellsMeta={cellsMeta}\n stepX={step.x[facetKey]}\n stepY={step.y[facetKey]}\n colorScale={colorScale}\n chartSettings={chartSettings}\n aes={aes}\n annotations={annotations}\n annotationColorScales={annotationColorScales}\n dendrogramAesScales={dendrogramAesScales}\n labelAngles={labelAngles}\n margins={margins}\n chartSizes={chartSizes}\n tooltipsContainer={tooltipsContainer}\n tooltipsData={tooltipsData}\n />\n );\n })}\n </g>\n <g transform={`translate(${legendLeft},${legendTop})`}>\n <Legend legendData={legend} />\n </g>\n <g ref={tooltipsRef} style={{outline: 'none'}} />\n </svg>\n </ErrorBoundary>\n );\n}\n"],"names":["ChartsGroup","margins","captionsSizes","settingsId","chartSettings","chartSizes","chartsDimensions","facetKeys","facetSettings","xGroupKeys","yGroupKeys","scales","colorScale","groupedCells","cellsMeta","step","annotations","annotationColorScales","legend","aes","dendrograms","dendrogramAesScales","columnsCount","labelAngles","onTooltipHintSwitch","tooltipsContainer","setTooltipsContainer","useState","tooltipsData","useTooltip","tooltipsRef","useRef","useEffect","leftTopChartPadding","rightTopChartPadding","legendLeft","LEGEND_OFFSET","legendTop","jsx","ErrorBoundary","jsxs","fonts","ChartsTitle","facetKey","cells","xKeysByGroups","yKeysByGroups","Chart","Legend"],"mappings":"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"}
@@ -5,8 +5,10 @@ interface DendrogramProps {
5
5
  sideElementBBoxes: ChartDimensionsData['sideElementBBoxes'];
6
6
  xDataByKeys: Record<string, Record<string, DataValue>>;
7
7
  yDataByKeys: Record<string, Record<string, DataValue>>;
8
+ xGroupKeys: string[];
9
+ yGroupKeys: string[];
8
10
  aesScales: DendrogramAesScales;
9
11
  }
10
- export declare function Dendrograms({ dendrograms, sideElementBBoxes, xDataByKeys, yDataByKeys, aesScales }: DendrogramProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function Dendrograms({ dendrograms, sideElementBBoxes, xDataByKeys, yDataByKeys, xGroupKeys, yGroupKeys, aesScales }: DendrogramProps): import("react/jsx-runtime").JSX.Element;
11
13
  export {};
12
14
  //# sourceMappingURL=Dendrograms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dendrograms.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/Dendrograms.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,mBAAmB,EAAW,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAEjG,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AA0C3C,UAAU,eAAe;IACrB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,iBAAiB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACvD,SAAS,EAAE,mBAAmB,CAAC;CAClC;AAED,wBAAgB,WAAW,CAAC,EAAC,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAC,EAAE,eAAe,2CAoFjH"}
1
+ {"version":3,"file":"Dendrograms.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/Dendrograms.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,mBAAmB,EAAW,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAEjG,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AA0C3C,UAAU,eAAe;IACrB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,iBAAiB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,mBAAmB,CAAC;CAClC;AAED,wBAAgB,WAAW,CAAC,EAAC,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAC,EAAE,eAAe,2CA0FzI"}
@@ -1,81 +1,87 @@
1
- import { j as i } from "../../node_modules/react/jsx-runtime.js";
2
- import { isColumnName as B } from "../../utils/index.js";
3
- import { getLineShape as g } from "../../utils/getLineShape.js";
4
- import { getPointShape as f } from "../../utils/getPointShape.js";
5
- function j(o, c = "top") {
6
- const { source: s, target: n } = o;
7
- return c === "top" || c === "bottom" ? `M ${s.x},${s.y} L ${n.x},${s.y} L${n.x},${n.y}` : `M ${s.x},${s.y} L ${s.x},${n.y} L${n.x},${n.y}`;
1
+ import { j as a } from "../../node_modules/react/jsx-runtime.js";
2
+ import { isColumnName as N } from "../../utils/index.js";
3
+ import { getLineShape as S } from "../../utils/getLineShape.js";
4
+ import { getPointShape as B } from "../../utils/getPointShape.js";
5
+ function L(n, i = "top") {
6
+ const { source: e, target: r } = n;
7
+ return i === "top" || i === "bottom" ? `M ${e.x},${e.y} L ${r.x},${e.y} L${r.x},${r.y}` : `M ${e.x},${e.y} L ${e.x},${r.y} L${r.x},${r.y}`;
8
8
  }
9
- function S(o, c, s, n, d) {
10
- if (!s)
9
+ function v(n, i, e, r, m) {
10
+ if (!e)
11
11
  return "";
12
- const e = s.aes[o];
13
- if (!B(e))
14
- return e;
15
- const r = e.value, p = d[r], y = n[r][c.data.keys[0]];
16
- return c.data.keys.every((u) => y === n[r][u]) ? p(String(y))[o] : p.unknown()[o];
12
+ const l = e.aes[n];
13
+ if (!N(l))
14
+ return l;
15
+ const y = l.value, o = m[y], s = r[y][i.data.keys[0]];
16
+ return i.data.keys.every((d) => s === r[y][d]) ? o(String(s))[n] : o.unknown()[n];
17
17
  }
18
- const L = { x: 0, y: 0 };
19
- function Y({ dendrograms: o, sideElementBBoxes: c, xDataByKeys: s, yDataByKeys: n, aesScales: d }) {
20
- const e = o.x.data, r = o.y.data, p = e ? c[e.position].dendro : L, y = r ? c[r.position].dendro : L;
21
- function u(a, x) {
22
- return S(a, x, e, s, d);
18
+ const G = { x: 0, y: 0 };
19
+ function C({ dendrograms: n, sideElementBBoxes: i, xDataByKeys: e, yDataByKeys: r, xGroupKeys: m, yGroupKeys: l, aesScales: y }) {
20
+ const o = n.x.data, s = n.y.data, d = o ? i[o.position].dendro : G, j = s ? i[s.position].dendro : G;
21
+ function p(c, u) {
22
+ return v(c, u, o, e, y);
23
23
  }
24
- function h(a, x) {
25
- return S(a, x, r, n, d);
24
+ function h(c, u) {
25
+ return v(c, u, s, r, y);
26
26
  }
27
- return /* @__PURE__ */ i.jsxs("g", { children: [
28
- /* @__PURE__ */ i.jsx("g", { transform: `translate(${p.x},${p.y})`, children: e && !e.hidden && o.x.trees.map((a, x) => {
29
- const l = a.links(), m = a.descendants();
30
- return /* @__PURE__ */ i.jsxs("g", { children: [
31
- l.map((t) => {
32
- const $ = e.edgeInheritance === "up" ? t.source : t.target;
33
- return /* @__PURE__ */ i.jsx(
27
+ return /* @__PURE__ */ a.jsxs("g", { children: [
28
+ /* @__PURE__ */ a.jsx("g", { transform: `translate(${d.x},${d.y})`, children: o && !o.hidden && m.map((c, u) => {
29
+ const x = n.x.treesByGroupKey[c];
30
+ if (!x)
31
+ return null;
32
+ const f = x.links(), g = x.descendants();
33
+ return /* @__PURE__ */ a.jsxs("g", { children: [
34
+ f.map((t) => {
35
+ const $ = o.edgeInheritance === "up" ? t.source : t.target;
36
+ return /* @__PURE__ */ a.jsx(
34
37
  "path",
35
38
  {
36
- d: j(t, e.position),
37
- stroke: u("lineColor", $),
38
- strokeWidth: u("lineWidth", $),
39
- strokeDasharray: g(u("lineShape", $)),
39
+ d: L(t, o.position),
40
+ stroke: p("lineColor", $),
41
+ strokeWidth: p("lineWidth", $),
42
+ strokeDasharray: S(p("lineShape", $)),
40
43
  fill: "none"
41
44
  },
42
45
  `${t.source.x},${t.source.y},${t.target.x},${t.target.y}`
43
46
  );
44
47
  }),
45
- e.showNodes && m.map((t) => /* @__PURE__ */ i.jsx("g", { transform: `translate(${t.x},${t.y})`, children: f(
46
- u("dotShape", t),
47
- u("dotSize", t),
48
- u("dotFill", t)
48
+ o.showNodes && g.map((t) => /* @__PURE__ */ a.jsx("g", { transform: `translate(${t.x},${t.y})`, children: B(
49
+ p("dotShape", t),
50
+ p("dotSize", t),
51
+ p("dotFill", t)
49
52
  ) }, `${t.x},${t.y}`))
50
- ] }, x);
53
+ ] }, u);
51
54
  }) }),
52
- /* @__PURE__ */ i.jsx("g", { transform: `translate(${y.x},${y.y})`, children: r && !r.hidden && o.y.trees.map((a, x) => {
53
- const l = a.links(), m = a.descendants();
54
- return /* @__PURE__ */ i.jsxs("g", { children: [
55
- l.map((t) => {
56
- const $ = r.edgeInheritance === "up" ? t.source : t.target;
57
- return /* @__PURE__ */ i.jsx(
55
+ /* @__PURE__ */ a.jsx("g", { transform: `translate(${j.x},${j.y})`, children: s && !s.hidden && l.map((c, u) => {
56
+ const x = n.y.treesByGroupKey[c];
57
+ if (!x)
58
+ return null;
59
+ const f = x.links(), g = x.descendants();
60
+ return /* @__PURE__ */ a.jsxs("g", { children: [
61
+ f.map((t) => {
62
+ const $ = s.edgeInheritance === "up" ? t.source : t.target;
63
+ return /* @__PURE__ */ a.jsx(
58
64
  "path",
59
65
  {
60
- d: j(t, r.position),
66
+ d: L(t, s.position),
61
67
  stroke: h("lineColor", $),
62
68
  strokeWidth: h("lineWidth", $),
63
- strokeDasharray: g(h("lineShape", $)),
69
+ strokeDasharray: S(h("lineShape", $)),
64
70
  fill: "none"
65
71
  },
66
72
  `${t.source.x},${t.source.y},${t.target.x},${t.target.y}`
67
73
  );
68
74
  }),
69
- r.showNodes && m.map((t) => /* @__PURE__ */ i.jsx("g", { transform: `translate(${t.x},${t.y})`, children: f(
75
+ s.showNodes && g.map((t) => /* @__PURE__ */ a.jsx("g", { transform: `translate(${t.x},${t.y})`, children: B(
70
76
  h("dotShape", t),
71
77
  h("dotSize", t),
72
78
  h("dotFill", t)
73
79
  ) }, `${t.x},${t.y}`))
74
- ] }, x);
80
+ ] }, u);
75
81
  }) })
76
82
  ] });
77
83
  }
78
84
  export {
79
- Y as Dendrograms
85
+ C as Dendrograms
80
86
  };
81
87
  //# sourceMappingURL=Dendrograms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dendrograms.js","sources":["../../../src/heatmap/components/Dendrograms.tsx"],"sourcesContent":["import type {ChartDendrograms, ChartDimensionsData, Cluster, DendrogramAesScales} from './types';\nimport type {HeatmapDendrogramSettings, HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\nimport type {DataValue} from '../../types';\nimport type {LineShape, PointShape} from '../../types';\nimport {isColumnName} from '../../utils';\nimport {getLineShape} from '../../utils/getLineShape';\nimport {getPointShape} from '../../utils/getPointShape';\nimport type {HierarchyPointLink, HierarchyPointNode} from 'd3-hierarchy';\nimport React from 'react';\n\nfunction getLinkPath(link: HierarchyPointLink<Cluster>, position = 'top'): string {\n const {source, target} = link;\n if (position === 'top' || position === 'bottom') {\n return `M ${source.x},${source.y} L ${target.x},${source.y} L${target.x},${target.y}`;\n }\n return `M ${source.x},${source.y} L ${source.x},${target.y} L${target.x},${target.y}`;\n}\n\nfunction getAes<ValueType>(\n field: keyof HeatmapDendrogramSettings['aes'],\n node: HierarchyPointNode<Cluster>,\n dendrogram: HeatmapSettingsImpl['dendrogramX' | 'dendrogramY'],\n data: Record<string, Record<string, DataValue>>,\n aesScales: DendrogramAesScales\n): ValueType {\n if (!dendrogram) {\n return '' as ValueType;\n }\n const value = dendrogram.aes[field];\n if (!isColumnName(value)) {\n return value as ValueType;\n }\n const columnName = value.value;\n const scale = aesScales[columnName];\n const valueByFirstKey = data[columnName][node.data.keys[0]];\n if (node.data.keys.every(key => valueByFirstKey === data[columnName][key])) {\n return scale(String(valueByFirstKey))[field] as ValueType;\n } else {\n return scale.unknown()[field] as ValueType;\n }\n}\n\nconst EMPTY_BBOX = {x: 0, y: 0, width: 0, height: 0};\n\ninterface DendrogramProps {\n dendrograms: ChartDendrograms;\n sideElementBBoxes: ChartDimensionsData['sideElementBBoxes'];\n xDataByKeys: Record<string, Record<string, DataValue>>;\n yDataByKeys: Record<string, Record<string, DataValue>>;\n aesScales: DendrogramAesScales;\n}\n\nexport function Dendrograms({dendrograms, sideElementBBoxes, xDataByKeys, yDataByKeys, aesScales}: DendrogramProps) {\n const dataX = dendrograms.x.data;\n const dataY = dendrograms.y.data;\n const dendroXBBox = dataX ? sideElementBBoxes[dataX.position].dendro : EMPTY_BBOX;\n const dendroYBBox = dataY ? sideElementBBoxes[dataY.position].dendro : EMPTY_BBOX;\n\n function aesGetterX<ValueType>(field: keyof HeatmapDendrogramSettings['aes'], node: HierarchyPointNode<Cluster>) {\n return getAes<ValueType>(field, node, dataX, xDataByKeys, aesScales);\n }\n function aesGetterY<ValueType>(field: keyof HeatmapDendrogramSettings['aes'], node: HierarchyPointNode<Cluster>) {\n return getAes<ValueType>(field, node, dataY, yDataByKeys, aesScales);\n }\n return (\n <g>\n <g transform={`translate(${dendroXBBox.x},${dendroXBBox.y})`}>\n {dataX && !dataX.hidden &&\n dendrograms.x.trees.map((root, idx) => {\n const links = root.links();\n const nodes = root.descendants();\n return (\n <g key={idx}>\n {links.map(link => {\n const node = dataX.edgeInheritance === 'up' ? link.source : link.target;\n return (\n <path\n key={`${link.source.x},${link.source.y},${link.target.x},${link.target.y}`}\n d={getLinkPath(link, dataX.position)}\n stroke={aesGetterX<string>('lineColor', node)}\n strokeWidth={aesGetterX<number>('lineWidth', node)}\n strokeDasharray={getLineShape(aesGetterX<LineShape>('lineShape', node))}\n fill=\"none\"\n />\n );\n })}\n {dataX.showNodes &&\n nodes.map(node => (\n <g key={`${node.x},${node.y}`} transform={`translate(${node.x},${node.y})`}>\n {getPointShape(\n aesGetterX<PointShape>('dotShape', node),\n aesGetterX<number>('dotSize', node),\n aesGetterX<string>('dotFill', node)\n )}\n </g>\n ))}\n </g>\n );\n })}\n </g>\n <g transform={`translate(${dendroYBBox.x},${dendroYBBox.y})`}>\n {dataY && !dataY.hidden &&\n dendrograms.y.trees.map((root, idx) => {\n const links = root.links();\n const nodes = root.descendants();\n return (\n <g key={idx}>\n {links.map(link => {\n const node = dataY.edgeInheritance === 'up' ? link.source : link.target;\n return (\n <path\n key={`${link.source.x},${link.source.y},${link.target.x},${link.target.y}`}\n d={getLinkPath(link, dataY.position)}\n stroke={aesGetterY<string>('lineColor', node)}\n strokeWidth={aesGetterY<number>('lineWidth', node)}\n strokeDasharray={getLineShape(aesGetterY<LineShape>('lineShape', node))}\n fill=\"none\"\n />\n );\n })}\n {dataY.showNodes &&\n nodes.map(node => (\n <g key={`${node.x},${node.y}`} transform={`translate(${node.x},${node.y})`}>\n {getPointShape(\n aesGetterY<PointShape>('dotShape', node),\n aesGetterY<number>('dotSize', node),\n aesGetterY<string>('dotFill', node)\n )}\n </g>\n ))}\n </g>\n );\n })}\n </g>\n </g>\n );\n}\n"],"names":["getLinkPath","link","position","source","target","getAes","field","node","dendrogram","data","aesScales","value","isColumnName","columnName","scale","valueByFirstKey","key","EMPTY_BBOX","Dendrograms","dendrograms","sideElementBBoxes","xDataByKeys","yDataByKeys","dataX","dataY","dendroXBBox","dendroYBBox","aesGetterX","aesGetterY","jsx","root","idx","links","nodes","getLineShape","getPointShape"],"mappings":"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"}
1
+ {"version":3,"file":"Dendrograms.js","sources":["../../../src/heatmap/components/Dendrograms.tsx"],"sourcesContent":["import type {ChartDendrograms, ChartDimensionsData, Cluster, DendrogramAesScales} from './types';\nimport type {HeatmapDendrogramSettings, HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\nimport type {DataValue} from '../../types';\nimport type {LineShape, PointShape} from '../../types';\nimport {isColumnName} from '../../utils';\nimport {getLineShape} from '../../utils/getLineShape';\nimport {getPointShape} from '../../utils/getPointShape';\nimport type {HierarchyPointLink, HierarchyPointNode} from 'd3-hierarchy';\nimport React from 'react';\n\nfunction getLinkPath(link: HierarchyPointLink<Cluster>, position = 'top'): string {\n const {source, target} = link;\n if (position === 'top' || position === 'bottom') {\n return `M ${source.x},${source.y} L ${target.x},${source.y} L${target.x},${target.y}`;\n }\n return `M ${source.x},${source.y} L ${source.x},${target.y} L${target.x},${target.y}`;\n}\n\nfunction getAes<ValueType>(\n field: keyof HeatmapDendrogramSettings['aes'],\n node: HierarchyPointNode<Cluster>,\n dendrogram: HeatmapSettingsImpl['dendrogramX' | 'dendrogramY'],\n data: Record<string, Record<string, DataValue>>,\n aesScales: DendrogramAesScales\n): ValueType {\n if (!dendrogram) {\n return '' as ValueType;\n }\n const value = dendrogram.aes[field];\n if (!isColumnName(value)) {\n return value as ValueType;\n }\n const columnName = value.value;\n const scale = aesScales[columnName];\n const valueByFirstKey = data[columnName][node.data.keys[0]];\n if (node.data.keys.every(key => valueByFirstKey === data[columnName][key])) {\n return scale(String(valueByFirstKey))[field] as ValueType;\n } else {\n return scale.unknown()[field] as ValueType;\n }\n}\n\nconst EMPTY_BBOX = {x: 0, y: 0, width: 0, height: 0};\n\ninterface DendrogramProps {\n dendrograms: ChartDendrograms;\n sideElementBBoxes: ChartDimensionsData['sideElementBBoxes'];\n xDataByKeys: Record<string, Record<string, DataValue>>;\n yDataByKeys: Record<string, Record<string, DataValue>>;\n xGroupKeys: string[];\n yGroupKeys: string[];\n aesScales: DendrogramAesScales;\n}\n\nexport function Dendrograms({dendrograms, sideElementBBoxes, xDataByKeys, yDataByKeys, xGroupKeys, yGroupKeys, aesScales}: DendrogramProps) {\n const dataX = dendrograms.x.data;\n const dataY = dendrograms.y.data;\n const dendroXBBox = dataX ? sideElementBBoxes[dataX.position].dendro : EMPTY_BBOX;\n const dendroYBBox = dataY ? sideElementBBoxes[dataY.position].dendro : EMPTY_BBOX;\n\n function aesGetterX<ValueType>(field: keyof HeatmapDendrogramSettings['aes'], node: HierarchyPointNode<Cluster>) {\n return getAes<ValueType>(field, node, dataX, xDataByKeys, aesScales);\n }\n function aesGetterY<ValueType>(field: keyof HeatmapDendrogramSettings['aes'], node: HierarchyPointNode<Cluster>) {\n return getAes<ValueType>(field, node, dataY, yDataByKeys, aesScales);\n }\n return (\n <g>\n <g transform={`translate(${dendroXBBox.x},${dendroXBBox.y})`}>\n {dataX && !dataX.hidden && xGroupKeys.map((xKey, idx) => {\n const root = dendrograms.x.treesByGroupKey[xKey];\n if (!root) {\n return null;\n }\n const links = root.links();\n const nodes = root.descendants();\n return (\n <g key={idx}>\n {links.map(link => {\n const node = dataX.edgeInheritance === 'up' ? link.source : link.target;\n return (\n <path\n key={`${link.source.x},${link.source.y},${link.target.x},${link.target.y}`}\n d={getLinkPath(link, dataX.position)}\n stroke={aesGetterX<string>('lineColor', node)}\n strokeWidth={aesGetterX<number>('lineWidth', node)}\n strokeDasharray={getLineShape(aesGetterX<LineShape>('lineShape', node))}\n fill=\"none\"\n />\n );\n })}\n {dataX.showNodes &&\n nodes.map(node => (\n <g key={`${node.x},${node.y}`} transform={`translate(${node.x},${node.y})`}>\n {getPointShape(\n aesGetterX<PointShape>('dotShape', node),\n aesGetterX<number>('dotSize', node),\n aesGetterX<string>('dotFill', node)\n )}\n </g>\n ))}\n </g>\n );\n })}\n </g>\n <g transform={`translate(${dendroYBBox.x},${dendroYBBox.y})`}>\n {dataY && !dataY.hidden && yGroupKeys.map((yKey, idx) => {\n const root = dendrograms.y.treesByGroupKey[yKey];\n if (!root) {\n return null;\n }\n const links = root.links();\n const nodes = root.descendants();\n return (\n <g key={idx}>\n {links.map(link => {\n const node = dataY.edgeInheritance === 'up' ? link.source : link.target;\n return (\n <path\n key={`${link.source.x},${link.source.y},${link.target.x},${link.target.y}`}\n d={getLinkPath(link, dataY.position)}\n stroke={aesGetterY<string>('lineColor', node)}\n strokeWidth={aesGetterY<number>('lineWidth', node)}\n strokeDasharray={getLineShape(aesGetterY<LineShape>('lineShape', node))}\n fill=\"none\"\n />\n );\n })}\n {dataY.showNodes &&\n nodes.map(node => (\n <g key={`${node.x},${node.y}`} transform={`translate(${node.x},${node.y})`}>\n {getPointShape(\n aesGetterY<PointShape>('dotShape', node),\n aesGetterY<number>('dotSize', node),\n aesGetterY<string>('dotFill', node)\n )}\n </g>\n ))}\n </g>\n );\n })}\n </g>\n </g>\n );\n}\n"],"names":["getLinkPath","link","position","source","target","getAes","field","node","dendrogram","data","aesScales","value","isColumnName","columnName","scale","valueByFirstKey","key","EMPTY_BBOX","Dendrograms","dendrograms","sideElementBBoxes","xDataByKeys","yDataByKeys","xGroupKeys","yGroupKeys","dataX","dataY","dendroXBBox","dendroYBBox","aesGetterX","aesGetterY","jsx","xKey","idx","root","links","nodes","getLineShape","getPointShape","yKey"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
2
- import { DataValue, AesItem } from '../../types';
3
1
  import { HierarchyPointNode } from 'd3-hierarchy';
4
2
  import { ScaleLinear, ScaleOrdinal } from 'd3-scale';
3
+ import { AesItem, DataValue } from '../../types';
4
+ import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
5
5
  export interface Margins {
6
6
  top: number;
7
7
  bottom: number;
@@ -74,11 +74,11 @@ export type Cluster = {
74
74
  };
75
75
  export type ChartDendrograms = {
76
76
  x: {
77
- trees: HierarchyPointNode<Cluster>[];
77
+ treesByGroupKey: Record<string, HierarchyPointNode<Cluster>>;
78
78
  data: HeatmapSettingsImpl['dendrogramX'];
79
79
  };
80
80
  y: {
81
- trees: HierarchyPointNode<Cluster>[];
81
+ treesByGroupKey: Record<string, HierarchyPointNode<Cluster>>;
82
82
  data: HeatmapSettingsImpl['dendrogramY'];
83
83
  };
84
84
  };
@@ -96,6 +96,7 @@ export type ChartSideElementsBBoxes = {
96
96
  bottom: Record<string, ChartElementBBox>;
97
97
  };
98
98
  export type AnnotationTooltipData = {
99
+ isAnnotation: true;
99
100
  x: number;
100
101
  y: number;
101
102
  xKey: DataValue | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/types.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import { DataFrame } from '../DataFrame';
2
- import { HeatmapSettingsImpl } from './HeatmapSettingsImpl';
3
2
  import { ColumnName, DataValue } from '../types';
3
+ import { HeatmapSettingsImpl } from './HeatmapSettingsImpl';
4
4
  export type Cell = {
5
+ isCell: true;
6
+ idx: number;
5
7
  id: string;
6
8
  value: DataValue;
7
9
  normalizedValue: DataValue;
8
10
  x: DataValue;
9
11
  y: DataValue;
10
- data: Record<string, DataValue>;
11
12
  };
12
13
  export type GroupedCellsData = {
13
14
  meta: {
@@ -1 +1 @@
1
- {"version":3,"file":"getCells.d.ts","sourceRoot":"","sources":["../../src/heatmap/getCells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAsB,MAAM,UAAU,CAAC;AAiCzE,MAAM,MAAM,IAAI,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,SAAS,CAAC;IAC3B,CAAC,EAAE,SAAS,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE;QACF,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAExC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACvD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,EAAE,MAAM,CACV,MAAM,EACN;QAEI,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAEhB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAExC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/C,CACJ,CAAC;CACL,CAAC;AAkBF,wBAAgB,QAAQ,CACpB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,UAAU,EAAE,EACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,QAAQ,EAAE,UAAU,EAAE,EACtB,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,EACnD,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,GAC5C,gBAAgB,CA4NlB"}
1
+ {"version":3,"file":"getCells.d.ts","sourceRoot":"","sources":["../../src/heatmap/getCells.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,UAAU,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA+BjE,MAAM,MAAM,IAAI,GAAG;IACf,MAAM,EAAE,IAAI,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,SAAS,CAAC;IAC3B,CAAC,EAAE,SAAS,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE;QACF,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAExC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACvD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,EAAE,MAAM,CACV,MAAM,EACN;QAEI,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAEhB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAExC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/C,CACJ,CAAC;CACL,CAAC;AAkBF,wBAAgB,QAAQ,CACpB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,UAAU,EAAE,EACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,QAAQ,EAAE,UAAU,EAAE,EACtB,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,EACnD,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,GAC5C,gBAAgB,CAmOlB"}