@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":"index.js","sources":["../../src/heatmap/index.ts"],"sourcesContent":["import {AbstractChart} from '../AbstractChart';\nimport type {GroupedCellsData} from './getCells';\nimport {getCells} from './getCells';\nimport type {DendrogramsData} from './getDendrograms';\nimport {getDendrograms} from './getDendrograms';\nimport {isColumnName} from '../utils';\nimport {renderToString} from 'react-dom/server';\nimport ChartRenderer from './ChartRenderer';\nimport type {ColumnName, DataValue, HeatmapEventHandlers, HeatmapSettings} from '../types';\nimport {HeatmapSettingsImpl} from './HeatmapSettingsImpl';\nimport type {DataFrame} from '../DataFrame';\n\nexport class ChartHeatmap extends AbstractChart {\n settings: HeatmapSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n groupedCellsData: GroupedCellsData;\n dendrogramsData: DendrogramsData;\n cellUniqValues: DataValue[];\n } | null = null;\n\n constructor(data: DataFrame, settings: HeatmapSettings, eventHandlers?:HeatmapEventHandlers) {\n super(data, settings);\n\n this.settings = new HeatmapSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n } catch (err) {\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: HeatmapSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new HeatmapSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n } catch (err) {\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for heatmap');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: HeatmapSettingsImpl, settings: HeatmapSettingsImpl) {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n annotations,\n chartSettings,\n facetSettings,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = settings;\n\n const prevDendrogramXColumns: ColumnName[] = Object.values(prevSettings.dendrogramX?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramXColumns: ColumnName[] = Object.values(dendrogramX?.aes || {}).filter(isColumnName);\n const prevDendrogramYColumns: ColumnName[] = Object.values(prevSettings.dendrogramY?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramYColumns: ColumnName[] = Object.values(dendrogramY?.aes || {}).filter(isColumnName);\n\n function compareColumnGroups(columns1: ColumnName[], columns2: ColumnName[]) {\n return (\n columns1.length !== columns2.length ||\n columns1.some((column, idx) => column.value !== columns2[idx].value)\n );\n }\n\n return (\n prevSettings.xColumn.value !== xColumn.value ||\n prevSettings.yColumn.value !== yColumn.value ||\n prevSettings.valueColumn.value !== valueColumn.value ||\n compareColumnGroups(prevSettings.xGroupBy, xGroupBy) ||\n compareColumnGroups(prevSettings.yGroupBy, yGroupBy) ||\n compareColumnGroups(prevSettings.facetBy, facetBy) ||\n compareColumnGroups(\n prevSettings.annotations.map(a => a.valueColumn),\n annotations.map(a => a.valueColumn)\n ) ||\n compareColumnGroups(prevDendrogramXColumns, currentDendrogramXColumns) ||\n compareColumnGroups(prevDendrogramYColumns, currentDendrogramYColumns) ||\n ((settings.dendrogramX || prevSettings.dendrogramX) &&\n (prevSettings.dendrogramX?.distance !== settings.dendrogramX?.distance ||\n prevSettings.dendrogramX?.linkage !== settings.dendrogramX?.linkage)) ||\n ((settings.dendrogramY || prevSettings.dendrogramY) &&\n (prevSettings.dendrogramY?.distance !== settings.dendrogramY?.distance ||\n prevSettings.dendrogramY?.linkage !== settings.dendrogramY?.linkage)) ||\n prevSettings.chartSettings.valueType !== chartSettings.valueType ||\n prevSettings.facetSettings.sharedX !== facetSettings.sharedX ||\n prevSettings.facetSettings.sharedY !== facetSettings.sharedY ||\n prevSettings.normalization?.method !== normalization?.method ||\n prevSettings.normalization?.direction !== normalization?.direction ||\n prevSettings.NAValueAs !== NAValueAs\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n chartSettings,\n facetSettings,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = this.settings;\n\n const groupedCellsData = getCells(\n this.data,\n xColumn,\n yColumn,\n valueColumn,\n facetBy,\n xGroupBy,\n yGroupBy,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs\n );\n const dendrogramsData = getDendrograms(groupedCellsData, dendrogramX, dendrogramY, facetSettings);\n const cellUniqValues =\n chartSettings.valueType === 'discrete' ? this.data.getColumnCategories(valueColumn.value) : [];\n\n this.calculatedData = {\n groupedCellsData,\n dendrogramsData,\n cellUniqValues,\n };\n }\n\n _updateAesInData() {\n return;\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {\n id,\n valueColumn,\n chartSettings,\n facetSettings,\n aes,\n annotations,\n dendrogramX,\n dendrogramY,\n inheritedDendrogramAes,\n normalization,\n } = this.settings;\n this.chartRenderer.render(\n id,\n chartSettings,\n facetSettings,\n aes,\n this.calculatedData.groupedCellsData,\n annotations,\n valueColumn,\n dendrogramX,\n dendrogramY,\n this.calculatedData.dendrogramsData,\n inheritedDendrogramAes,\n this.calculatedData.cellUniqValues,\n normalization,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["ChartHeatmap","AbstractChart","data","settings","eventHandlers","__publicField","ChartRenderer","HeatmapSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","xColumn","yColumn","valueColumn","xGroupBy","yGroupBy","facetBy","annotations","chartSettings","facetSettings","dendrogramX","dendrogramY","normalization","NAValueAs","prevDendrogramXColumns","_a","isColumnName","currentDendrogramXColumns","prevDendrogramYColumns","_b","currentDendrogramYColumns","compareColumnGroups","columns1","columns2","column","idx","a","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","prevData","prevKeys","keys","key","groupedCellsData","getCells","dendrogramsData","getDendrograms","cellUniqValues","id","aes","inheritedDendrogramAes"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/heatmap/index.ts"],"sourcesContent":["import { renderToString } from 'react-dom/server';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame } from '../DataFrame';\nimport type { ColumnName, DataValue, HeatmapEventHandlers, HeatmapSettings } from '../types';\nimport { isColumnName } from '../utils';\nimport ChartRenderer from './ChartRenderer';\nimport type { GroupedCellsData } from './getCells';\nimport { getCells } from './getCells';\nimport type { DendrogramsData } from './getDendrograms';\nimport { getDendrograms } from './getDendrograms';\nimport { HeatmapSettingsImpl } from './HeatmapSettingsImpl';\n\nexport class ChartHeatmap extends AbstractChart {\n settings: HeatmapSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n groupedCellsData: GroupedCellsData;\n dendrogramsData: DendrogramsData;\n cellUniqValues: DataValue[];\n } | null = null;\n\n constructor(data: DataFrame, settings: HeatmapSettings, eventHandlers?:HeatmapEventHandlers) {\n super(data, settings);\n\n this.settings = new HeatmapSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n } catch (err) {\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: HeatmapSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new HeatmapSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n } catch (err) {\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for heatmap');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: HeatmapSettingsImpl, settings: HeatmapSettingsImpl) {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n annotations,\n chartSettings,\n facetSettings,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = settings;\n\n const prevDendrogramXColumns: ColumnName[] = Object.values(prevSettings.dendrogramX?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramXColumns: ColumnName[] = Object.values(dendrogramX?.aes || {}).filter(isColumnName);\n const prevDendrogramYColumns: ColumnName[] = Object.values(prevSettings.dendrogramY?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramYColumns: ColumnName[] = Object.values(dendrogramY?.aes || {}).filter(isColumnName);\n\n function compareColumnGroups(columns1: ColumnName[], columns2: ColumnName[]) {\n return (\n columns1.length !== columns2.length ||\n columns1.some((column, idx) => column.value !== columns2[idx].value)\n );\n }\n\n return (\n prevSettings.xColumn.value !== xColumn.value ||\n prevSettings.yColumn.value !== yColumn.value ||\n prevSettings.valueColumn.value !== valueColumn.value ||\n compareColumnGroups(prevSettings.xGroupBy, xGroupBy) ||\n compareColumnGroups(prevSettings.yGroupBy, yGroupBy) ||\n compareColumnGroups(prevSettings.facetBy, facetBy) ||\n compareColumnGroups(\n prevSettings.annotations.map(a => a.valueColumn),\n annotations.map(a => a.valueColumn)\n ) ||\n compareColumnGroups(prevDendrogramXColumns, currentDendrogramXColumns) ||\n compareColumnGroups(prevDendrogramYColumns, currentDendrogramYColumns) ||\n ((settings.dendrogramX || prevSettings.dendrogramX) &&\n (prevSettings.dendrogramX?.distance !== settings.dendrogramX?.distance ||\n prevSettings.dendrogramX?.linkage !== settings.dendrogramX?.linkage)) ||\n ((settings.dendrogramY || prevSettings.dendrogramY) &&\n (prevSettings.dendrogramY?.distance !== settings.dendrogramY?.distance ||\n prevSettings.dendrogramY?.linkage !== settings.dendrogramY?.linkage)) ||\n prevSettings.chartSettings.valueType !== chartSettings.valueType ||\n prevSettings.facetSettings.sharedX !== facetSettings.sharedX ||\n prevSettings.facetSettings.sharedY !== facetSettings.sharedY ||\n prevSettings.normalization?.method !== normalization?.method ||\n prevSettings.normalization?.direction !== normalization?.direction ||\n prevSettings.NAValueAs !== NAValueAs\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n chartSettings,\n facetSettings,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = this.settings;\n\n const groupedCellsData = getCells(\n this.data,\n xColumn,\n yColumn,\n valueColumn,\n facetBy,\n xGroupBy,\n yGroupBy,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs\n );\n const dendrogramsData = getDendrograms(groupedCellsData, dendrogramX, dendrogramY, facetSettings);\n const cellUniqValues =\n chartSettings.valueType === 'discrete' ? this.data.getColumnCategories(valueColumn.value) : [];\n\n this.calculatedData = {\n groupedCellsData,\n dendrogramsData,\n cellUniqValues,\n };\n }\n\n _updateAesInData() {\n return;\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {\n id,\n valueColumn,\n chartSettings,\n facetSettings,\n aes,\n annotations,\n dendrogramX,\n dendrogramY,\n inheritedDendrogramAes,\n normalization,\n } = this.settings;\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n facetSettings,\n aes,\n this.calculatedData.groupedCellsData,\n annotations,\n valueColumn,\n dendrogramX,\n dendrogramY,\n this.calculatedData.dendrogramsData,\n inheritedDendrogramAes,\n this.calculatedData.cellUniqValues,\n normalization,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["ChartHeatmap","AbstractChart","data","settings","eventHandlers","__publicField","ChartRenderer","HeatmapSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","xColumn","yColumn","valueColumn","xGroupBy","yGroupBy","facetBy","annotations","chartSettings","facetSettings","dendrogramX","dendrogramY","normalization","NAValueAs","prevDendrogramXColumns","_a","isColumnName","currentDendrogramXColumns","prevDendrogramYColumns","_b","currentDendrogramYColumns","compareColumnGroups","columns1","columns2","column","idx","a","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","prevData","prevKeys","keys","key","groupedCellsData","getCells","dendrogramsData","getDendrograms","cellUniqValues","id","aes","inheritedDendrogramAes"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calculateAnnotationTitleSizes.d.ts","sourceRoot":"","sources":["../../../src/heatmap/utils/calculateAnnotationTitleSizes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAchE,wBAAgB,6BAA6B,CACzC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,UAAU,EAAE,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC,EAAE,EACnD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO;;;;;EA6BnB"}
1
+ {"version":3,"file":"calculateAnnotationTitleSizes.d.ts","sourceRoot":"","sources":["../../../src/heatmap/utils/calculateAnnotationTitleSizes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAalE,wBAAgB,6BAA6B,CACzC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,UAAU,EAAE,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC,EAAE,EACnD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO;;;;;EA6BnB"}
@@ -1,4 +1,4 @@
1
- import { TextMeasurer as f } from "../../utils/TextMeasurer.js";
1
+ import { TextMeasurer as f } from "../../utils/TextMeasurer/TextMeasurer.js";
2
2
  const p = new f("bold 14px Arial");
3
3
  function n(i) {
4
4
  let l = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"calculateAnnotationTitleSizes.js","sources":["../../../src/heatmap/utils/calculateAnnotationTitleSizes.ts"],"sourcesContent":["import type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\nimport {TextMeasurer} from '../../utils/TextMeasurer';\n\nconst textMeasurer = new TextMeasurer('bold 14px Arial');\nfunction getMaxTextLength (titles:string[]) {\n let maxLabelSize = 0;\n for (const key of titles) {\n const l = textMeasurer.getTextWidth(key);\n if (l > maxLabelSize) {\n maxLabelSize = l;\n }\n }\n return maxLabelSize;\n}\nexport function calculateAnnotationTitleSizes(\n annotations: HeatmapSettingsImpl['annotations'],\n chartSides: ('left' | 'right' | 'top' | 'bottom')[],\n sharedX: boolean,\n sharedY: boolean\n) {\n const usedAnnotations = annotations.filter(item => {\n return (\n item.showTitle &&\n (chartSides.includes(item.position) ||\n (!sharedX && ['left', 'right'].includes(item.position)) ||\n (!sharedY && ['top', 'bottom'].includes(item.position)))\n );\n });\n const leftTitles = usedAnnotations\n .filter(item => item.titlePosition === 'left')\n .map(item => item.valueColumn.label ?? item.valueColumn.value);\n const rightTitles = usedAnnotations\n .filter(item => item.titlePosition === 'right')\n .map(item => item.valueColumn.label ?? item.valueColumn.value);\n const topTitles = usedAnnotations\n .filter(item => item.titlePosition === 'top')\n .map(item => item.valueColumn.label ?? item.valueColumn.value);\n const bottomTitles = usedAnnotations\n .filter(item => item.titlePosition === 'bottom')\n .map(item => item.valueColumn.label ?? item.valueColumn.value);\n\n return {\n left: getMaxTextLength(leftTitles),\n right: getMaxTextLength(rightTitles),\n top: getMaxTextLength(topTitles),\n bottom: getMaxTextLength(bottomTitles)\n };\n}\n"],"names":["textMeasurer","TextMeasurer","getMaxTextLength","titles","maxLabelSize","key","l","calculateAnnotationTitleSizes","annotations","chartSides","sharedX","sharedY","usedAnnotations","item","leftTitles","rightTitles","topTitles","bottomTitles"],"mappings":";AAGA,MAAMA,IAAe,IAAIC,EAAa,iBAAiB;AACvD,SAASC,EAAkBC,GAAiB;AACxC,MAAIC,IAAe;AACnB,aAAWC,KAAOF,GAAQ;AACtB,UAAMG,IAAIN,EAAa,aAAaK,CAAG;AACvC,IAAIC,IAAIF,MACJA,IAAeE;AAAA,EAEvB;AACA,SAAOF;AACX;AACO,SAASG,EACZC,GACAC,GACAC,GACAC,GACF;AACE,QAAMC,IAAkBJ,EAAY,OAAO,CAAAK,MAEnCA,EAAK,cACJJ,EAAW,SAASI,EAAK,QAAQ,KAC7B,CAACH,KAAW,CAAC,QAAQ,OAAO,EAAE,SAASG,EAAK,QAAQ,KACpD,CAACF,KAAW,CAAC,OAAO,QAAQ,EAAE,SAASE,EAAK,QAAQ,EAEhE,GACKC,IAAaF,EACd,OAAO,CAAAC,MAAQA,EAAK,kBAAkB,MAAM,EAC5C,IAAI,OAAQA,EAAK,YAAY,SAASA,EAAK,YAAY,KAAK,GAC3DE,IAAcH,EACf,OAAO,CAAAC,MAAQA,EAAK,kBAAkB,OAAO,EAC7C,IAAI,OAAQA,EAAK,YAAY,SAASA,EAAK,YAAY,KAAK,GAC3DG,IAAYJ,EACb,OAAO,CAAAC,MAAQA,EAAK,kBAAkB,KAAK,EAC3C,IAAI,OAAQA,EAAK,YAAY,SAASA,EAAK,YAAY,KAAK,GAC3DI,IAAeL,EAChB,OAAO,CAAAC,MAAQA,EAAK,kBAAkB,QAAQ,EAC9C,IAAI,OAAQA,EAAK,YAAY,SAASA,EAAK,YAAY,KAAK;AAEjE,SAAO;AAAA,IACH,MAAMX,EAAiBY,CAAU;AAAA,IACjC,OAAOZ,EAAiBa,CAAW;AAAA,IACnC,KAAKb,EAAiBc,CAAS;AAAA,IAC/B,QAAQd,EAAiBe,CAAY;AAAA,EAAA;AAE7C;"}
1
+ {"version":3,"file":"calculateAnnotationTitleSizes.js","sources":["../../../src/heatmap/utils/calculateAnnotationTitleSizes.ts"],"sourcesContent":["import { TextMeasurer } from '../../utils/TextMeasurer/TextMeasurer';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\n\nconst textMeasurer = new TextMeasurer('bold 14px Arial');\nfunction getMaxTextLength (titles:string[]) {\n let maxLabelSize = 0;\n for (const key of titles) {\n const l = textMeasurer.getTextWidth(key);\n if (l > maxLabelSize) {\n maxLabelSize = l;\n }\n }\n return maxLabelSize;\n}\nexport function calculateAnnotationTitleSizes(\n annotations: HeatmapSettingsImpl['annotations'],\n chartSides: ('left' | 'right' | 'top' | 'bottom')[],\n sharedX: boolean,\n sharedY: boolean\n) {\n const usedAnnotations = annotations.filter(item => {\n return (\n item.showTitle &&\n (chartSides.includes(item.position) ||\n (!sharedX && ['left', 'right'].includes(item.position)) ||\n (!sharedY && ['top', 'bottom'].includes(item.position)))\n );\n });\n const leftTitles = usedAnnotations\n .filter(item => item.titlePosition === 'left')\n .map(item => item.valueColumn.label ?? item.valueColumn.value);\n const rightTitles = usedAnnotations\n .filter(item => item.titlePosition === 'right')\n .map(item => item.valueColumn.label ?? item.valueColumn.value);\n const topTitles = usedAnnotations\n .filter(item => item.titlePosition === 'top')\n .map(item => item.valueColumn.label ?? item.valueColumn.value);\n const bottomTitles = usedAnnotations\n .filter(item => item.titlePosition === 'bottom')\n .map(item => item.valueColumn.label ?? item.valueColumn.value);\n\n return {\n left: getMaxTextLength(leftTitles),\n right: getMaxTextLength(rightTitles),\n top: getMaxTextLength(topTitles),\n bottom: getMaxTextLength(bottomTitles)\n };\n}\n"],"names":["textMeasurer","TextMeasurer","getMaxTextLength","titles","maxLabelSize","key","l","calculateAnnotationTitleSizes","annotations","chartSides","sharedX","sharedY","usedAnnotations","item","leftTitles","rightTitles","topTitles","bottomTitles"],"mappings":";AAGA,MAAMA,IAAe,IAAIC,EAAa,iBAAiB;AACvD,SAASC,EAAkBC,GAAiB;AACxC,MAAIC,IAAe;AACnB,aAAWC,KAAOF,GAAQ;AACtB,UAAMG,IAAIN,EAAa,aAAaK,CAAG;AACvC,IAAIC,IAAIF,MACJA,IAAeE;AAAA,EAEvB;AACA,SAAOF;AACX;AACO,SAASG,EACZC,GACAC,GACAC,GACAC,GACF;AACE,QAAMC,IAAkBJ,EAAY,OAAO,CAAAK,MAEnCA,EAAK,cACJJ,EAAW,SAASI,EAAK,QAAQ,KAC7B,CAACH,KAAW,CAAC,QAAQ,OAAO,EAAE,SAASG,EAAK,QAAQ,KACpD,CAACF,KAAW,CAAC,OAAO,QAAQ,EAAE,SAASE,EAAK,QAAQ,EAEhE,GACKC,IAAaF,EACd,OAAO,CAAAC,MAAQA,EAAK,kBAAkB,MAAM,EAC5C,IAAI,OAAQA,EAAK,YAAY,SAASA,EAAK,YAAY,KAAK,GAC3DE,IAAcH,EACf,OAAO,CAAAC,MAAQA,EAAK,kBAAkB,OAAO,EAC7C,IAAI,OAAQA,EAAK,YAAY,SAASA,EAAK,YAAY,KAAK,GAC3DG,IAAYJ,EACb,OAAO,CAAAC,MAAQA,EAAK,kBAAkB,KAAK,EAC3C,IAAI,OAAQA,EAAK,YAAY,SAASA,EAAK,YAAY,KAAK,GAC3DI,IAAeL,EAChB,OAAO,CAAAC,MAAQA,EAAK,kBAAkB,QAAQ,EAC9C,IAAI,OAAQA,EAAK,YAAY,SAASA,EAAK,YAAY,KAAK;AAEjE,SAAO;AAAA,IACH,MAAMX,EAAiBY,CAAU;AAAA,IACjC,OAAOZ,EAAiBa,CAAW;AAAA,IACnC,KAAKb,EAAiBc,CAAS;AAAA,IAC/B,QAAQd,EAAiBe,CAAY;AAAA,EAAA;AAE7C;"}
@@ -1,8 +1,8 @@
1
- import { LabelAngles } from '../components/types';
1
+ import { TextMeasurer } from '../../utils/TextMeasurer/TextMeasurer';
2
+ import { ChartsScales, LabelAngles } from '../components/types';
2
3
  import { GroupedCellsData } from '../getCells';
3
4
  import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
4
- import { TextMeasurer } from '../../utils/TextMeasurer';
5
- export declare function calculateCaptionTails(labelAngles: LabelAngles, facetSettings: HeatmapSettingsImpl['facetSettings'], steps: {
5
+ export declare function calculateCaptionTails(labelAngles: LabelAngles, facetSettings: HeatmapSettingsImpl['facetSettings'], scales: ChartsScales, steps: {
6
6
  x: Record<string, number>;
7
7
  y: Record<string, number>;
8
8
  }, groupedCells: GroupedCellsData, textMeasurer: TextMeasurer): {
@@ -1 +1 @@
1
- {"version":3,"file":"calculateCaptionTails.d.ts","sourceRoot":"","sources":["../../../src/heatmap/utils/calculateCaptionTails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAG3D,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,EACnD,KAAK,EAAE;IACH,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B,EACD,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,YAAY,GAC3B;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,CAyG9C"}
1
+ {"version":3,"file":"calculateCaptionTails.d.ts","sourceRoot":"","sources":["../../../src/heatmap/utils/calculateCaptionTails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAuClE,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,EACnD,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE;IACH,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B,EACD,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,YAAY,GAC3B;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,CAsF9C"}
@@ -1,66 +1,101 @@
1
- import { MIN_STEP_FOR_VISIBLE_LABELS as f } from "../constants.js";
2
- import H from "../../node_modules/lodash/lodash.js";
3
- function S(c, K, r, l, a) {
4
- const { facetKeys: x, xGroupKeys: T, yGroupKeys: u, xKeysByGroups: P, yKeysByGroups: V, xLabels: W, yLabels: I } = l.meta, M = c.xGroupLabels / 180 * Math.PI, m = c.yGroupLabels / 180 * Math.PI, B = c.xAxisLabels / 180 * Math.PI, E = c.yAxisLabels / 180 * Math.PI;
5
- let y = 0, p = 0;
6
- const L = c.xGroupLabels === 45, G = c.xAxisLabels === 45;
7
- if (L || G)
8
- if (!K.sharedX)
9
- x.forEach((t) => {
10
- const n = T.find(
11
- (g) => l.facets[t].xKeysByGroups[g].length > 0
12
- );
13
- if (!n)
14
- return;
15
- const o = l.facets[t].xKeysByGroups[n], s = r.x[t], i = s > f, e = o.length * s / 2, h = W[o[0]];
16
- y = Math.max(
17
- y,
18
- (L ? a.getTextWidth(n) * Math.cos(M) : 0) - e,
19
- (G && i ? a.getTextWidth(h) * Math.cos(B) : 0) - s / 2
1
+ import { MIN_STEP_FOR_VISIBLE_LABELS as _ } from "../constants.js";
2
+ const E = Math.cos(Math.PI / 4);
3
+ function K(a, h, e, s, f, y, o, m, I, d) {
4
+ const u = y[a], B = u > _;
5
+ let l = 0;
6
+ return h.forEach((p) => {
7
+ const x = f(a, p);
8
+ if (x.length === 0)
9
+ return 0;
10
+ const n = x.length * u / 2, i = m ? d.getTextWidth(e[p]) * E - n - o(x[0]) : 0, G = I && B ? h.reduce((L, r) => {
11
+ const T = s[r];
12
+ return Math.max(L, d.getTextWidth(T) * E - u / 2 - o(r));
13
+ }, 0) : 0;
14
+ l = Math.max(l, i, G);
15
+ }), l;
16
+ }
17
+ function P(a, h, e, s, f, y) {
18
+ const { facetKeys: o, xGroupKeys: m, yGroupKeys: I, xKeysByGroups: d, yKeysByGroups: u, xLabels: B, yLabels: l, xGroupLabels: p, yGroupLabels: x } = f.meta;
19
+ let n = 0, i = 0;
20
+ const G = a.xGroupLabels === 45, L = a.xAxisLabels === 45;
21
+ if (G || L)
22
+ if (!h.sharedX)
23
+ o.forEach((t) => {
24
+ n = Math.max(
25
+ K(
26
+ t,
27
+ m,
28
+ p,
29
+ B,
30
+ (b, c) => f.facets[b].xKeysByGroups[c],
31
+ s.x,
32
+ e.x[t],
33
+ G,
34
+ L,
35
+ y
36
+ ),
37
+ n
20
38
  );
21
39
  });
22
40
  else {
23
- const t = T[0], n = x[0];
24
- if (t) {
25
- const o = P[t], s = r.x[n], i = s > f, e = o.length * s / 2, h = W[o[0]];
26
- y = Math.max(
27
- y,
28
- (L ? a.getTextWidth(t) * Math.cos(M) : 0) - e,
29
- (G && i ? a.getTextWidth(h) * Math.cos(B) : 0) - s / 2
30
- );
31
- }
32
- }
33
- const b = c.yGroupLabels === 45, d = c.yAxisLabels === 45;
34
- if (b || d)
35
- if (!K.sharedY)
36
- x.forEach((t) => {
37
- const n = H.findLast(
38
- u,
39
- (g) => l.facets[t].yKeysByGroups[g].length > 0
40
- );
41
- if (!n)
42
- return;
43
- const o = l.facets[t].yKeysByGroups[n], s = r.y[t], i = s > f, e = o.length * s / 2, h = I[o[o.length - 1]];
44
- p = Math.max(
41
+ const t = o[0];
42
+ n = Math.max(
43
+ K(
44
+ t,
45
+ m,
45
46
  p,
46
- (b ? a.getTextWidth(n) * Math.cos(m) : 0) - e,
47
- (d && i ? a.getTextWidth(h) * Math.cos(E) : 0) - s / 2
47
+ B,
48
+ (b, c) => d[c],
49
+ s.x,
50
+ e.x[t],
51
+ G,
52
+ L,
53
+ y
54
+ ),
55
+ n
56
+ );
57
+ }
58
+ const r = a.yGroupLabels === 45, T = a.yAxisLabels === 45;
59
+ if (r || T)
60
+ if (!h.sharedY)
61
+ o.forEach((t) => {
62
+ i = Math.max(
63
+ K(
64
+ t,
65
+ I,
66
+ x,
67
+ l,
68
+ (b, c) => f.facets[b].yKeysByGroups[c],
69
+ s.y,
70
+ e.y[t],
71
+ r,
72
+ T,
73
+ y
74
+ ),
75
+ i
48
76
  );
49
77
  });
50
78
  else {
51
- const t = u[u.length - 1], n = x[0];
52
- if (t) {
53
- const o = V[t], s = r.y[n], i = s > f, e = o.length * s / 2, h = I[o[o.length - 1]];
54
- p = Math.max(
55
- p,
56
- (b ? a.getTextWidth(t) * Math.cos(m) : 0) - e,
57
- (d && i ? a.getTextWidth(h) * Math.cos(E) : 0) - s / 2
58
- );
59
- }
79
+ const t = o[0];
80
+ i = Math.max(
81
+ K(
82
+ t,
83
+ I,
84
+ x,
85
+ l,
86
+ (b, c) => u[c],
87
+ s.y,
88
+ e.y[t],
89
+ r,
90
+ T,
91
+ y
92
+ ),
93
+ i
94
+ );
60
95
  }
61
- return { xCaptionTail: y, yCaptionTail: p };
96
+ return { xCaptionTail: n, yCaptionTail: i };
62
97
  }
63
98
  export {
64
- S as calculateCaptionTails
99
+ P as calculateCaptionTails
65
100
  };
66
101
  //# sourceMappingURL=calculateCaptionTails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculateCaptionTails.js","sources":["../../../src/heatmap/utils/calculateCaptionTails.ts"],"sourcesContent":["import type {LabelAngles} from '../components/types';\nimport {MIN_STEP_FOR_VISIBLE_LABELS} from '../constants';\nimport type {GroupedCellsData} from '../getCells';\nimport type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\nimport type {TextMeasurer} from '../../utils/TextMeasurer';\nimport lodash from 'lodash';\n\nexport function calculateCaptionTails(\n labelAngles: LabelAngles,\n facetSettings: HeatmapSettingsImpl['facetSettings'],\n steps: {\n x: Record<string, number>;\n y: Record<string, number>;\n },\n groupedCells: GroupedCellsData,\n textMeasurer: TextMeasurer\n): {xCaptionTail: number; yCaptionTail: number} {\n const {facetKeys, xGroupKeys, yGroupKeys, xKeysByGroups, yKeysByGroups, xLabels, yLabels} = groupedCells.meta;\n const xGroupAngle = (labelAngles.xGroupLabels / 180) * Math.PI;\n const yGroupAngle = (labelAngles.yGroupLabels / 180) * Math.PI;\n const xLabelAngle = (labelAngles.xAxisLabels / 180) * Math.PI;\n const yLabelAngle = (labelAngles.yAxisLabels / 180) * Math.PI;\n let xCaptionTail = 0;\n let yCaptionTail = 0;\n // tails from 45deg inclined captions of groups titles/cells labels, that take place on adjacent padding\n const xGroupTitleInclined = labelAngles.xGroupLabels === 45;\n const xLabelsInclined = labelAngles.xAxisLabels === 45;\n if (xGroupTitleInclined || xLabelsInclined) {\n if (!facetSettings.sharedX) {\n facetKeys.forEach(facetKey => {\n const firstGroupKey = xGroupKeys.find(\n key => groupedCells.facets[facetKey].xKeysByGroups[key].length > 0\n );\n if (!firstGroupKey) {\n return;\n }\n const groupKeys = groupedCells.facets[facetKey].xKeysByGroups[firstGroupKey];\n const step = steps.x[facetKey];\n const labelsVisible = step > MIN_STEP_FOR_VISIBLE_LABELS;\n const groupHalfWidth = (groupKeys.length * step) / 2;\n const firstLabel = xLabels[groupKeys[0]];\n xCaptionTail = Math.max(\n xCaptionTail,\n (xGroupTitleInclined ? textMeasurer.getTextWidth(firstGroupKey) * Math.cos(xGroupAngle) : 0) -\n groupHalfWidth,\n (xLabelsInclined && labelsVisible\n ? textMeasurer.getTextWidth(firstLabel) * Math.cos(xLabelAngle)\n : 0) -\n step / 2\n );\n });\n } else {\n const firstGroupKey = xGroupKeys[0];\n const facetKey = facetKeys[0]; // there is no difference between facets in this case\n if (firstGroupKey) {\n const groupKeys = xKeysByGroups[firstGroupKey];\n const step = steps.x[facetKey];\n const labelsVisible = step > MIN_STEP_FOR_VISIBLE_LABELS;\n const groupHalfWidth = (groupKeys.length * step) / 2;\n const firstLabel = xLabels[groupKeys[0]];\n xCaptionTail = Math.max(\n xCaptionTail,\n (xGroupTitleInclined ? textMeasurer.getTextWidth(firstGroupKey) * Math.cos(xGroupAngle) : 0) -\n groupHalfWidth,\n (xLabelsInclined && labelsVisible\n ? textMeasurer.getTextWidth(firstLabel) * Math.cos(xLabelAngle)\n : 0) -\n step / 2\n );\n }\n }\n }\n const yGroupTitleInclined = labelAngles.yGroupLabels === 45;\n const yLabelsInclined = labelAngles.yAxisLabels === 45;\n if (yGroupTitleInclined || yLabelsInclined) {\n if (!facetSettings.sharedY) {\n facetKeys.forEach(facetKey => {\n const lastGroupKey = lodash.findLast(\n yGroupKeys,\n key => groupedCells.facets[facetKey].yKeysByGroups[key].length > 0\n );\n if (!lastGroupKey) {\n return;\n }\n const groupKeys = groupedCells.facets[facetKey].yKeysByGroups[lastGroupKey];\n const step = steps.y[facetKey];\n const labelsVisible = step > MIN_STEP_FOR_VISIBLE_LABELS;\n const groupHalfWidth = (groupKeys.length * step) / 2;\n const lastLabel = yLabels[groupKeys[groupKeys.length - 1]];\n yCaptionTail = Math.max(\n yCaptionTail,\n (yGroupTitleInclined ? textMeasurer.getTextWidth(lastGroupKey) * Math.cos(yGroupAngle) : 0) -\n groupHalfWidth,\n (yLabelsInclined && labelsVisible\n ? textMeasurer.getTextWidth(lastLabel) * Math.cos(yLabelAngle)\n : 0) -\n step / 2\n );\n });\n } else {\n const lastGroupKey = yGroupKeys[yGroupKeys.length - 1];\n const facetKey = facetKeys[0]; // there is no difference between facets in this case\n if (lastGroupKey) {\n const groupKeys = yKeysByGroups[lastGroupKey];\n const step = steps.y[facetKey];\n const labelsVisible = step > MIN_STEP_FOR_VISIBLE_LABELS;\n const groupHalfWidth = (groupKeys.length * step) / 2;\n const lastLabel = yLabels[groupKeys[groupKeys.length - 1]];\n yCaptionTail = Math.max(\n yCaptionTail,\n (yGroupTitleInclined ? textMeasurer.getTextWidth(lastGroupKey) * Math.cos(yGroupAngle) : 0) -\n groupHalfWidth,\n (yLabelsInclined && labelsVisible\n ? textMeasurer.getTextWidth(lastLabel) * Math.cos(yLabelAngle)\n : 0) -\n step / 2\n );\n }\n }\n }\n return {xCaptionTail, yCaptionTail};\n}\n"],"names":["calculateCaptionTails","labelAngles","facetSettings","steps","groupedCells","textMeasurer","facetKeys","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","xLabels","yLabels","xGroupAngle","yGroupAngle","xLabelAngle","yLabelAngle","xCaptionTail","yCaptionTail","xGroupTitleInclined","xLabelsInclined","facetKey","firstGroupKey","key","groupKeys","step","labelsVisible","MIN_STEP_FOR_VISIBLE_LABELS","groupHalfWidth","firstLabel","yGroupTitleInclined","yLabelsInclined","lastGroupKey","lodash","lastLabel"],"mappings":"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"}
1
+ {"version":3,"file":"calculateCaptionTails.js","sources":["../../../src/heatmap/utils/calculateCaptionTails.ts"],"sourcesContent":["import type { TextMeasurer } from '../../utils/TextMeasurer/TextMeasurer';\nimport type { ChartsScales, LabelAngles } from '../components/types';\nimport { MIN_STEP_FOR_VISIBLE_LABELS } from '../constants';\nimport type { GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\n\nconst COS_PI_4 = Math.cos(Math.PI / 4);\nfunction getTailByFacetKey (\n facetKey: string,\n groupKeys: string[],\n groupLabels: Record<string, string>,\n valueLabels: Record<string, string>,\n getKeysInGroup: (facetKey:string, groupKey:string) => string[],\n steps: Record<string, number>,\n scale: (v:string) => number,\n groupTitleInclined: boolean,\n labelTitleInclined: boolean,\n textMeasurer: TextMeasurer\n): number {\n const step = steps[facetKey];\n const labelsVisible = step > MIN_STEP_FOR_VISIBLE_LABELS;\n\n let maxTail = 0;\n groupKeys.forEach((groupKey) => {\n const keysInGroup = getKeysInGroup(facetKey, groupKey);\n if (keysInGroup.length === 0) {\n return 0;\n }\n const groupHalfWidth = (keysInGroup.length * step) / 2;\n const groupTail = groupTitleInclined\n ? textMeasurer.getTextWidth(groupLabels[groupKey]) * COS_PI_4 - groupHalfWidth - scale(keysInGroup[0])\n : 0;\n const labelTail = labelTitleInclined && labelsVisible\n ? groupKeys.reduce((res, key) => {\n const label = valueLabels[key];\n return Math.max(res, textMeasurer.getTextWidth(label) * COS_PI_4 - step / 2 - scale(key));\n }, 0)\n : 0;\n maxTail = Math.max(maxTail, groupTail, labelTail);\n });\n return maxTail;\n}\n\nexport function calculateCaptionTails(\n labelAngles: LabelAngles,\n facetSettings: HeatmapSettingsImpl['facetSettings'],\n scales: ChartsScales,\n steps: {\n x: Record<string, number>;\n y: Record<string, number>;\n },\n groupedCells: GroupedCellsData,\n textMeasurer: TextMeasurer\n): {xCaptionTail: number; yCaptionTail: number} {\n const {facetKeys, xGroupKeys, yGroupKeys, xKeysByGroups, yKeysByGroups, xLabels, yLabels, xGroupLabels, yGroupLabels} = groupedCells.meta;\n let xCaptionTail = 0;\n let yCaptionTail = 0;\n // tails from 45deg inclined captions of groups titles/cells labels, that take place on adjacent padding\n const xGroupTitleInclined = labelAngles.xGroupLabels === 45;\n const xLabelsInclined = labelAngles.xAxisLabels === 45;\n if (xGroupTitleInclined || xLabelsInclined) {\n if (!facetSettings.sharedX) {\n facetKeys.forEach(facetKey => {\n xCaptionTail = Math.max(\n getTailByFacetKey(\n facetKey,\n xGroupKeys,\n xGroupLabels,\n xLabels,\n (facetKey:string, groupKey:string) => groupedCells.facets[facetKey].xKeysByGroups[groupKey],\n steps.x,\n scales.x[facetKey],\n xGroupTitleInclined,\n xLabelsInclined,\n textMeasurer\n ),\n xCaptionTail\n );\n });\n } else {\n const facetKey = facetKeys[0]; // there is no difference between facets in this case\n xCaptionTail = Math.max(\n getTailByFacetKey(\n facetKey,\n xGroupKeys,\n xGroupLabels,\n xLabels,\n (facetKey:string, groupKey:string) => xKeysByGroups[groupKey],\n steps.x,\n scales.x[facetKey],\n xGroupTitleInclined,\n xLabelsInclined,\n textMeasurer\n ),\n xCaptionTail\n );\n }\n }\n const yGroupTitleInclined = labelAngles.yGroupLabels === 45;\n const yLabelsInclined = labelAngles.yAxisLabels === 45;\n if (yGroupTitleInclined || yLabelsInclined) {\n if (!facetSettings.sharedY) {\n facetKeys.forEach(facetKey => {\n yCaptionTail = Math.max(\n getTailByFacetKey(\n facetKey,\n yGroupKeys,\n yGroupLabels,\n yLabels,\n (facetKey:string, groupKey:string) => groupedCells.facets[facetKey].yKeysByGroups[groupKey],\n steps.y,\n scales.y[facetKey],\n yGroupTitleInclined,\n yLabelsInclined,\n textMeasurer\n ),\n yCaptionTail\n );\n });\n } else {\n const facetKey = facetKeys[0]; // there is no difference between facets in this case\n yCaptionTail = Math.max(\n getTailByFacetKey(\n facetKey,\n yGroupKeys,\n yGroupLabels,\n yLabels,\n (facetKey:string, groupKey:string) => yKeysByGroups[groupKey],\n steps.y,\n scales.y[facetKey],\n yGroupTitleInclined,\n yLabelsInclined,\n textMeasurer\n ),\n yCaptionTail\n );\n }\n }\n return {xCaptionTail, yCaptionTail};\n}\n"],"names":["COS_PI_4","getTailByFacetKey","facetKey","groupKeys","groupLabels","valueLabels","getKeysInGroup","steps","scale","groupTitleInclined","labelTitleInclined","textMeasurer","step","labelsVisible","MIN_STEP_FOR_VISIBLE_LABELS","maxTail","groupKey","keysInGroup","groupHalfWidth","groupTail","labelTail","res","key","label","calculateCaptionTails","labelAngles","facetSettings","scales","groupedCells","facetKeys","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","xLabels","yLabels","xGroupLabels","yGroupLabels","xCaptionTail","yCaptionTail","xGroupTitleInclined","xLabelsInclined","yGroupTitleInclined","yLabelsInclined"],"mappings":"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"}
@@ -1,35 +1,35 @@
1
- import { DEFAULT_TICKS_SIZE as G, TITLE_LINE as S, MIN_STEP_FOR_VISIBLE_LABELS as k, TICK_OFFSET as z, FACET_TITLE_LINE as q, ANNOTATION_WIDTH as T, ANNOTATIONS_OFFSET as c } from "../constants.js";
2
- function J(i, s, l, B, t, o, p, h, f, D, K, H, M, R) {
3
- const U = H.length > 1 && (!f || p.includes(s.groupingPosition)), C = !f || p.includes(s.position), V = K.length > 1 && (!h || p.includes(i.groupingPosition)), E = !h || p.includes(i.position), W = D.length > 1, u = B.filter((n) => p.includes(n.position) || !h && ["left", "right"].includes(n.position) || !f && ["top", "bottom"].includes(n.position)), I = u.filter((n) => n.position === "left").length, b = u.filter((n) => n.position === "right").length, L = u.filter((n) => n.position === "top").length, _ = u.filter((n) => n.position === "bottom").length, Z = i.showTicks ? G : 0, j = s.showTicks ? G : 0, e = E && i.showTitle ? S : 0, N = C && s.showTitle ? S : 0, w = E && i.showAxisLabels && M > k ? l.xAxisCaptions + Z + z : 0, F = C && s.showAxisLabels && R > k ? l.yAxisCaptions + j + z : 0, O = V && i.showGroupLabels ? l.xGroupCaptions : 0, P = U && s.showGroupLabels ? l.yGroupCaptions : 0;
1
+ import { DEFAULT_TICKS_SIZE as S, TITLE_LINE as k, MIN_STEP_FOR_VISIBLE_LABELS as z, TICK_OFFSET as T, FACET_TITLE_LINE as q, ANNOTATION_WIDTH as c, ANNOTATIONS_OFFSET as h } from "../constants.js";
2
+ function J(i, s, l, B, t, o, p, f, C, D, K, H, M, R) {
3
+ const U = H.length > 1 && (!C || p.includes(s.groupingPosition)), E = !C || p.includes(s.position), V = K.length > 1 && (!f || p.includes(i.groupingPosition)), I = !f || p.includes(i.position), W = D.length > 1, u = B.filter((n) => p.includes(n.position) || !f && ["left", "right"].includes(n.position) || !C && ["top", "bottom"].includes(n.position)), b = u.filter((n) => n.position === "left").length, L = u.filter((n) => n.position === "right").length, _ = u.filter((n) => n.position === "top").length, e = u.filter((n) => n.position === "bottom").length, Z = i.showTicks ? S : 0, j = s.showTicks ? S : 0, N = I && i.showTitle ? k : 0, w = E && s.showTitle ? k : 0, F = I && i.showAxisLabels && M > z ? l.xAxisCaptions + Z + T : 0, O = E && s.showAxisLabels && R > z ? l.yAxisCaptions + j + T : 0, P = V && i.showGroupLabels ? l.xGroupCaptions + T : 0, G = U && s.showGroupLabels ? l.yGroupCaptions + T : 0;
4
4
  return {
5
5
  left: {
6
6
  dendro: !(o != null && o.hidden) && (o == null ? void 0 : o.position) === "left" ? o.size : 0,
7
- axisTitle: s.position === "left" ? N : 0,
8
- groups: s.groupingPosition === "left" ? P : 0,
9
- axis: s.position === "left" ? F : 0,
10
- annotations: I * T + (I && c)
7
+ axisTitle: s.position === "left" ? w : 0,
8
+ groups: s.groupingPosition === "left" ? G : 0,
9
+ axis: s.position === "left" ? O : 0,
10
+ annotations: b * c + (b && h)
11
11
  },
12
12
  right: {
13
13
  dendro: !(o != null && o.hidden) && (o == null ? void 0 : o.position) === "right" ? o.size : 0,
14
- axisTitle: s.position === "right" ? N : 0,
15
- groups: s.groupingPosition === "right" ? P : 0,
16
- axis: s.position === "right" ? F : 0,
17
- annotations: b * T + (b && c)
14
+ axisTitle: s.position === "right" ? w : 0,
15
+ groups: s.groupingPosition === "right" ? G : 0,
16
+ axis: s.position === "right" ? O : 0,
17
+ annotations: L * c + (L && h)
18
18
  },
19
19
  top: {
20
20
  facetTitle: W ? q : 0,
21
21
  dendro: !(t != null && t.hidden) && (t == null ? void 0 : t.position) === "top" ? t.size : 0,
22
- axisTitle: i.position === "top" ? e : 0,
23
- groups: i.groupingPosition === "top" ? O : 0,
24
- axis: i.position === "top" ? w : 0,
25
- annotations: L * T + (L && c)
22
+ axisTitle: i.position === "top" ? N : 0,
23
+ groups: i.groupingPosition === "top" ? P : 0,
24
+ axis: i.position === "top" ? F : 0,
25
+ annotations: _ * c + (_ && h)
26
26
  },
27
27
  bottom: {
28
28
  dendro: !(t != null && t.hidden) && (t == null ? void 0 : t.position) === "bottom" ? t.size : 0,
29
- axisTitle: i.position === "bottom" ? e : 0,
30
- groups: i.groupingPosition === "bottom" ? O : 0,
31
- axis: i.position === "bottom" ? w : 0,
32
- annotations: _ * T + (_ && c)
29
+ axisTitle: i.position === "bottom" ? N : 0,
30
+ groups: i.groupingPosition === "bottom" ? P : 0,
31
+ axis: i.position === "bottom" ? F : 0,
32
+ annotations: e * c + (e && h)
33
33
  }
34
34
  };
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"calculateChartSideElementSizes.js","sources":["../../../src/heatmap/utils/calculateChartSideElementSizes.ts"],"sourcesContent":["import {\n ANNOTATION_WIDTH,\n ANNOTATIONS_OFFSET,\n DEFAULT_TICKS_SIZE,\n FACET_TITLE_LINE,\n MIN_STEP_FOR_VISIBLE_LABELS,\n TICK_OFFSET,\n TITLE_LINE,\n} from '../constants';\nimport type {CaptionsSizes} from '../components/types';\nimport type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\n\nexport function calculateChartSideElementSizes(\n xAxis: HeatmapSettingsImpl['chartSettings']['xAxis'],\n yAxis: HeatmapSettingsImpl['chartSettings']['yAxis'],\n captionsSizes: CaptionsSizes,\n annotations: HeatmapSettingsImpl['annotations'],\n dendrogramX: HeatmapSettingsImpl['dendrogramX'],\n dendrogramY: HeatmapSettingsImpl['dendrogramY'],\n chartSides: ('left' | 'right' | 'top' | 'bottom')[],\n sharedX: boolean,\n sharedY: boolean,\n facetKeys: string[],\n xGroupKeys: string[],\n yGroupKeys: string[],\n stepX: number,\n stepY: number\n): Record<string, Record<string, number>> {\n const hasGroupingY = yGroupKeys.length > 1 && (!sharedY || chartSides.includes(yAxis.groupingPosition));\n const hasAxisY = !sharedY || chartSides.includes(yAxis.position);\n const hasGroupingX = xGroupKeys.length > 1 && (!sharedX || chartSides.includes(xAxis.groupingPosition));\n const hasAxisX = !sharedX || chartSides.includes(xAxis.position);\n const hasChartTitle = facetKeys.length > 1;\n const usedAnnotations = annotations.filter(item => {\n return (\n chartSides.includes(item.position) ||\n (!sharedX && ['left', 'right'].includes(item.position)) ||\n (!sharedY && ['top', 'bottom'].includes(item.position))\n );\n });\n const leftAnnotationsCount = usedAnnotations.filter(item => item.position === 'left').length;\n const rightAnnotationsCount = usedAnnotations.filter(item => item.position === 'right').length;\n const topAnnotationsCount = usedAnnotations.filter(item => item.position === 'top').length;\n const bottomAnnotationsCount = usedAnnotations.filter(item => item.position === 'bottom').length;\n\n const tickSizeX = xAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const tickSizeY = yAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const axisTitleX = hasAxisX && xAxis.showTitle ? TITLE_LINE : 0;\n const axisTitleY = hasAxisY && yAxis.showTitle ? TITLE_LINE : 0;\n\n const axisX =\n hasAxisX && xAxis.showAxisLabels && stepX > MIN_STEP_FOR_VISIBLE_LABELS\n ? captionsSizes.xAxisCaptions + tickSizeX + TICK_OFFSET\n : 0;\n const axisY =\n hasAxisY && yAxis.showAxisLabels && stepY > MIN_STEP_FOR_VISIBLE_LABELS\n ? captionsSizes.yAxisCaptions + tickSizeY + TICK_OFFSET\n : 0;\n // can be rotated, then labels max width\n const groupX = hasGroupingX && xAxis.showGroupLabels ? captionsSizes.xGroupCaptions : 0;\n const groupY = hasGroupingY && yAxis.showGroupLabels ? captionsSizes.yGroupCaptions : 0;\n\n return {\n left: {\n dendro: !dendrogramY?.hidden && dendrogramY?.position === 'left' ? dendrogramY.size : 0,\n axisTitle: yAxis.position === 'left' ? axisTitleY : 0,\n groups: yAxis.groupingPosition === 'left' ? groupY : 0,\n axis: yAxis.position === 'left' ? axisY : 0,\n annotations: leftAnnotationsCount * ANNOTATION_WIDTH + (leftAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n right: {\n dendro: !dendrogramY?.hidden && dendrogramY?.position === 'right' ? dendrogramY.size : 0,\n axisTitle: yAxis.position === 'right' ? axisTitleY : 0,\n groups: yAxis.groupingPosition === 'right' ? groupY : 0,\n axis: yAxis.position === 'right' ? axisY : 0,\n annotations: rightAnnotationsCount * ANNOTATION_WIDTH + (rightAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n top: {\n facetTitle: hasChartTitle ? FACET_TITLE_LINE : 0,\n dendro: !dendrogramX?.hidden && dendrogramX?.position === 'top' ? dendrogramX.size : 0,\n axisTitle: xAxis.position === 'top' ? axisTitleX : 0,\n groups: xAxis.groupingPosition === 'top' ? groupX : 0,\n axis: xAxis.position === 'top' ? axisX : 0,\n annotations: topAnnotationsCount * ANNOTATION_WIDTH + (topAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n bottom: {\n dendro: !dendrogramX?.hidden && dendrogramX?.position === 'bottom' ? dendrogramX.size : 0,\n axisTitle: xAxis.position === 'bottom' ? axisTitleX : 0,\n groups: xAxis.groupingPosition === 'bottom' ? groupX : 0,\n axis: xAxis.position === 'bottom' ? axisX : 0,\n annotations: bottomAnnotationsCount * ANNOTATION_WIDTH + (bottomAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n };\n}\n"],"names":["calculateChartSideElementSizes","xAxis","yAxis","captionsSizes","annotations","dendrogramX","dendrogramY","chartSides","sharedX","sharedY","facetKeys","xGroupKeys","yGroupKeys","stepX","stepY","hasGroupingY","hasAxisY","hasGroupingX","hasAxisX","hasChartTitle","usedAnnotations","item","leftAnnotationsCount","rightAnnotationsCount","topAnnotationsCount","bottomAnnotationsCount","tickSizeX","DEFAULT_TICKS_SIZE","tickSizeY","axisTitleX","TITLE_LINE","axisTitleY","axisX","MIN_STEP_FOR_VISIBLE_LABELS","TICK_OFFSET","axisY","groupX","groupY","ANNOTATION_WIDTH","ANNOTATIONS_OFFSET","FACET_TITLE_LINE"],"mappings":"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"}
1
+ {"version":3,"file":"calculateChartSideElementSizes.js","sources":["../../../src/heatmap/utils/calculateChartSideElementSizes.ts"],"sourcesContent":["import {\n ANNOTATION_WIDTH,\n ANNOTATIONS_OFFSET,\n DEFAULT_TICKS_SIZE,\n FACET_TITLE_LINE,\n MIN_STEP_FOR_VISIBLE_LABELS,\n TICK_OFFSET,\n TITLE_LINE,\n} from '../constants';\nimport type {CaptionsSizes} from '../components/types';\nimport type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\n\nexport function calculateChartSideElementSizes(\n xAxis: HeatmapSettingsImpl['chartSettings']['xAxis'],\n yAxis: HeatmapSettingsImpl['chartSettings']['yAxis'],\n captionsSizes: CaptionsSizes,\n annotations: HeatmapSettingsImpl['annotations'],\n dendrogramX: HeatmapSettingsImpl['dendrogramX'],\n dendrogramY: HeatmapSettingsImpl['dendrogramY'],\n chartSides: ('left' | 'right' | 'top' | 'bottom')[],\n sharedX: boolean,\n sharedY: boolean,\n facetKeys: string[],\n xGroupKeys: string[],\n yGroupKeys: string[],\n stepX: number,\n stepY: number\n): Record<string, Record<string, number>> {\n const hasGroupingY = yGroupKeys.length > 1 && (!sharedY || chartSides.includes(yAxis.groupingPosition));\n const hasAxisY = !sharedY || chartSides.includes(yAxis.position);\n const hasGroupingX = xGroupKeys.length > 1 && (!sharedX || chartSides.includes(xAxis.groupingPosition));\n const hasAxisX = !sharedX || chartSides.includes(xAxis.position);\n const hasChartTitle = facetKeys.length > 1;\n const usedAnnotations = annotations.filter(item => {\n return (\n chartSides.includes(item.position) ||\n (!sharedX && ['left', 'right'].includes(item.position)) ||\n (!sharedY && ['top', 'bottom'].includes(item.position))\n );\n });\n const leftAnnotationsCount = usedAnnotations.filter(item => item.position === 'left').length;\n const rightAnnotationsCount = usedAnnotations.filter(item => item.position === 'right').length;\n const topAnnotationsCount = usedAnnotations.filter(item => item.position === 'top').length;\n const bottomAnnotationsCount = usedAnnotations.filter(item => item.position === 'bottom').length;\n\n const tickSizeX = xAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const tickSizeY = yAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const axisTitleX = hasAxisX && xAxis.showTitle ? TITLE_LINE : 0;\n const axisTitleY = hasAxisY && yAxis.showTitle ? TITLE_LINE : 0;\n\n const axisX =\n hasAxisX && xAxis.showAxisLabels && stepX > MIN_STEP_FOR_VISIBLE_LABELS\n ? captionsSizes.xAxisCaptions + tickSizeX + TICK_OFFSET\n : 0;\n const axisY =\n hasAxisY && yAxis.showAxisLabels && stepY > MIN_STEP_FOR_VISIBLE_LABELS\n ? captionsSizes.yAxisCaptions + tickSizeY + TICK_OFFSET\n : 0;\n // can be rotated, then labels max width\n const groupX = hasGroupingX && xAxis.showGroupLabels ? captionsSizes.xGroupCaptions + TICK_OFFSET : 0;\n const groupY = hasGroupingY && yAxis.showGroupLabels ? captionsSizes.yGroupCaptions + TICK_OFFSET : 0;\n\n return {\n left: {\n dendro: !dendrogramY?.hidden && dendrogramY?.position === 'left' ? dendrogramY.size : 0,\n axisTitle: yAxis.position === 'left' ? axisTitleY : 0,\n groups: yAxis.groupingPosition === 'left' ? groupY : 0,\n axis: yAxis.position === 'left' ? axisY : 0,\n annotations: leftAnnotationsCount * ANNOTATION_WIDTH + (leftAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n right: {\n dendro: !dendrogramY?.hidden && dendrogramY?.position === 'right' ? dendrogramY.size : 0,\n axisTitle: yAxis.position === 'right' ? axisTitleY : 0,\n groups: yAxis.groupingPosition === 'right' ? groupY : 0,\n axis: yAxis.position === 'right' ? axisY : 0,\n annotations: rightAnnotationsCount * ANNOTATION_WIDTH + (rightAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n top: {\n facetTitle: hasChartTitle ? FACET_TITLE_LINE : 0,\n dendro: !dendrogramX?.hidden && dendrogramX?.position === 'top' ? dendrogramX.size : 0,\n axisTitle: xAxis.position === 'top' ? axisTitleX : 0,\n groups: xAxis.groupingPosition === 'top' ? groupX : 0,\n axis: xAxis.position === 'top' ? axisX : 0,\n annotations: topAnnotationsCount * ANNOTATION_WIDTH + (topAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n bottom: {\n dendro: !dendrogramX?.hidden && dendrogramX?.position === 'bottom' ? dendrogramX.size : 0,\n axisTitle: xAxis.position === 'bottom' ? axisTitleX : 0,\n groups: xAxis.groupingPosition === 'bottom' ? groupX : 0,\n axis: xAxis.position === 'bottom' ? axisX : 0,\n annotations: bottomAnnotationsCount * ANNOTATION_WIDTH + (bottomAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n };\n}\n"],"names":["calculateChartSideElementSizes","xAxis","yAxis","captionsSizes","annotations","dendrogramX","dendrogramY","chartSides","sharedX","sharedY","facetKeys","xGroupKeys","yGroupKeys","stepX","stepY","hasGroupingY","hasAxisY","hasGroupingX","hasAxisX","hasChartTitle","usedAnnotations","item","leftAnnotationsCount","rightAnnotationsCount","topAnnotationsCount","bottomAnnotationsCount","tickSizeX","DEFAULT_TICKS_SIZE","tickSizeY","axisTitleX","TITLE_LINE","axisTitleY","axisX","MIN_STEP_FOR_VISIBLE_LABELS","TICK_OFFSET","axisY","groupX","groupY","ANNOTATION_WIDTH","ANNOTATIONS_OFFSET","FACET_TITLE_LINE"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
+ import { ReactElement } from 'react';
2
+ import { Root } from 'react-dom/client';
1
3
  import { LegendData } from '../common/types';
2
- import { HistogramLegendInfo, Margins, CaptionsSizes, ChartDimensionsData, ChartSizes, ChartsScales } from './components/types';
4
+ import { DataFrame } from '../DataFrame';
5
+ import { ColumnName } from '../types';
6
+ import { CaptionsSizes, ChartDimensionsData, ChartSizes, ChartsScales, HistogramLegendInfo, Margins } from './components/types';
3
7
  import { GroupedHistogramData } from './getHistogramData';
4
8
  import { HistogramLayer, HistogramSettingsImpl } from './HistogramSettingsImpl';
5
- import { ColumnName } from '../types';
6
- import { ReactElement } from 'react';
7
- import { Root } from 'react-dom/client';
8
9
  declare class ChartRenderer {
9
10
  reactRoot: Root | null;
10
11
  parentNode: HTMLElement | null;
@@ -30,7 +31,7 @@ declare class ChartRenderer {
30
31
  createFacetTitles(facetKeys: string[], facetLabels: string[][]): void;
31
32
  updateLegendSize(legend: HistogramSettingsImpl['chartSettings']['legend'], legendInfo: HistogramLegendInfo, grouping: ColumnName | null, layers: HistogramLayer[]): void;
32
33
  updateMargins(size: HistogramSettingsImpl['chartSettings']['size']): void;
33
- render(settingsId: string, chartSettings: HistogramSettingsImpl['chartSettings'], facetSettings: HistogramSettingsImpl['facetSettings'], facetKeys: string[], facetLabels: string[][], histogramDataByFacets: Record<string, GroupedHistogramData>, legendInfo: HistogramLegendInfo, layers: HistogramLayer[], inheritedAes: HistogramSettingsImpl['inheritedAes'], grouping: ColumnName | null, groupingStack: HistogramSettingsImpl['groupingStack'], groupingDirection: HistogramSettingsImpl['groupingDirection'], onTooltipHintSwitch: (v: boolean) => void): void;
34
+ render(dataFrame: DataFrame, settingsId: string, chartSettings: HistogramSettingsImpl['chartSettings'], facetSettings: HistogramSettingsImpl['facetSettings'], facetKeys: string[], facetLabels: string[][], histogramDataByFacets: Record<string, GroupedHistogramData>, legendInfo: HistogramLegendInfo, layers: HistogramLayer[], inheritedAes: HistogramSettingsImpl['inheritedAes'], grouping: ColumnName | null, groupingStack: HistogramSettingsImpl['groupingStack'], groupingDirection: HistogramSettingsImpl['groupingDirection'], onTooltipHintSwitch: (v: boolean) => void): void;
34
35
  renderError(message: string): void;
35
36
  }
36
37
  export default ChartRenderer;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartRenderer.d.ts","sourceRoot":"","sources":["../../src/histogram/ChartRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChartRenderer.d.ts","sourceRoot":"","sources":["../../src/histogram/ChartRenderer.tsx"],"names":[],"mappings":"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"}