@milaboratories/miplots4 1.0.129 → 1.0.131

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 (351) 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 +232 -230
  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/Chart.d.ts.map +1 -1
  144. package/dist/heatmap/components/Chart.js +90 -89
  145. package/dist/heatmap/components/Chart.js.map +1 -1
  146. package/dist/heatmap/components/ChartsGroup.d.ts +2 -2
  147. package/dist/heatmap/components/ChartsGroup.d.ts.map +1 -1
  148. package/dist/heatmap/components/ChartsGroup.js +14 -14
  149. package/dist/heatmap/components/ChartsGroup.js.map +1 -1
  150. package/dist/heatmap/components/types.d.ts +3 -2
  151. package/dist/heatmap/components/types.d.ts.map +1 -1
  152. package/dist/heatmap/getCells.d.ts +3 -2
  153. package/dist/heatmap/getCells.d.ts.map +1 -1
  154. package/dist/heatmap/getCells.js +97 -93
  155. package/dist/heatmap/getCells.js.map +1 -1
  156. package/dist/heatmap/index.d.ts +3 -3
  157. package/dist/heatmap/index.d.ts.map +1 -1
  158. package/dist/heatmap/index.js +13 -12
  159. package/dist/heatmap/index.js.map +1 -1
  160. package/dist/heatmap/utils/calculateAnnotationTitleSizes.d.ts.map +1 -1
  161. package/dist/heatmap/utils/calculateAnnotationTitleSizes.js +1 -1
  162. package/dist/heatmap/utils/calculateAnnotationTitleSizes.js.map +1 -1
  163. package/dist/heatmap/utils/calculateCaptionTails.d.ts +1 -1
  164. package/dist/heatmap/utils/calculateCaptionTails.d.ts.map +1 -1
  165. package/dist/heatmap/utils/calculateCaptionTails.js.map +1 -1
  166. package/dist/histogram/ChartRenderer.d.ts +6 -5
  167. package/dist/histogram/ChartRenderer.d.ts.map +1 -1
  168. package/dist/histogram/ChartRenderer.js +154 -153
  169. package/dist/histogram/ChartRenderer.js.map +1 -1
  170. package/dist/histogram/HistogramSettingsImpl.d.ts +2 -2
  171. package/dist/histogram/HistogramSettingsImpl.d.ts.map +1 -1
  172. package/dist/histogram/HistogramSettingsImpl.js.map +1 -1
  173. package/dist/histogram/components/Chart.js +48 -48
  174. package/dist/histogram/components/Chart.js.map +1 -1
  175. package/dist/histogram/components/types.d.ts +4 -3
  176. package/dist/histogram/components/types.d.ts.map +1 -1
  177. package/dist/histogram/getHistogramData.d.ts +7 -7
  178. package/dist/histogram/getHistogramData.d.ts.map +1 -1
  179. package/dist/histogram/getHistogramData.js +52 -53
  180. package/dist/histogram/getHistogramData.js.map +1 -1
  181. package/dist/histogram/index.d.ts +3 -3
  182. package/dist/histogram/index.d.ts.map +1 -1
  183. package/dist/histogram/index.js +49 -45
  184. package/dist/histogram/index.js.map +1 -1
  185. package/dist/node_modules/@d3fc/d3fc-axis/src/axisBase.js +10 -10
  186. package/dist/node_modules/d3-array/src/min.js +5 -11
  187. package/dist/node_modules/d3-array/src/min.js.map +1 -1
  188. package/dist/node_modules/d3-shape/src/area.js +30 -30
  189. package/dist/node_modules/d3-shape/src/line.js +6 -6
  190. package/dist/node_modules/d3-shape/src/line.js.map +1 -1
  191. package/dist/node_modules/kdbush/index.js +148 -0
  192. package/dist/node_modules/kdbush/index.js.map +1 -0
  193. package/dist/scatterplot/ChartRenderer.d.ts +7 -6
  194. package/dist/scatterplot/ChartRenderer.d.ts.map +1 -1
  195. package/dist/scatterplot/ChartRenderer.js +213 -209
  196. package/dist/scatterplot/ChartRenderer.js.map +1 -1
  197. package/dist/scatterplot/ScatterplotSettingsImpl.d.ts +2 -2
  198. package/dist/scatterplot/ScatterplotSettingsImpl.d.ts.map +1 -1
  199. package/dist/scatterplot/ScatterplotSettingsImpl.js +28 -28
  200. package/dist/scatterplot/ScatterplotSettingsImpl.js.map +1 -1
  201. package/dist/scatterplot/components/ChartAxisTitles.d.ts.map +1 -1
  202. package/dist/scatterplot/components/ChartAxisTitles.js +31 -30
  203. package/dist/scatterplot/components/ChartAxisTitles.js.map +1 -1
  204. package/dist/scatterplot/components/ChartLayersData.d.ts.map +1 -1
  205. package/dist/scatterplot/components/ChartLayersData.js +138 -156
  206. package/dist/scatterplot/components/ChartLayersData.js.map +1 -1
  207. package/dist/scatterplot/components/ChartTooltip.d.ts.map +1 -1
  208. package/dist/scatterplot/components/ChartTooltip.js +41 -38
  209. package/dist/scatterplot/components/ChartTooltip.js.map +1 -1
  210. package/dist/scatterplot/components/ChartTrendsData.js +21 -21
  211. package/dist/scatterplot/components/ChartTrendsData.js.map +1 -1
  212. package/dist/scatterplot/components/types.d.ts +7 -7
  213. package/dist/scatterplot/components/types.d.ts.map +1 -1
  214. package/dist/scatterplot/constants.d.ts +1 -1
  215. package/dist/scatterplot/constants.d.ts.map +1 -1
  216. package/dist/scatterplot/constants.js.map +1 -1
  217. package/dist/scatterplot/dots.d.ts +2 -2
  218. package/dist/scatterplot/dots.d.ts.map +1 -1
  219. package/dist/scatterplot/dots.js +27 -25
  220. package/dist/scatterplot/dots.js.map +1 -1
  221. package/dist/scatterplot/getLayersData.d.ts +3 -3
  222. package/dist/scatterplot/getLayersData.d.ts.map +1 -1
  223. package/dist/scatterplot/getLayersData.js +12 -15
  224. package/dist/scatterplot/getLayersData.js.map +1 -1
  225. package/dist/scatterplot/index.d.ts +4 -4
  226. package/dist/scatterplot/index.d.ts.map +1 -1
  227. package/dist/scatterplot/index.js +71 -72
  228. package/dist/scatterplot/index.js.map +1 -1
  229. package/dist/scatterplot/linearRegression.d.ts +5 -4
  230. package/dist/scatterplot/linearRegression.d.ts.map +1 -1
  231. package/dist/scatterplot/linearRegression.js +88 -86
  232. package/dist/scatterplot/linearRegression.js.map +1 -1
  233. package/dist/scatterplot/utils/createAesGetter.d.ts +3 -2
  234. package/dist/scatterplot/utils/createAesGetter.d.ts.map +1 -1
  235. package/dist/scatterplot/utils/createAesGetter.js +21 -21
  236. package/dist/scatterplot/utils/createAesGetter.js.map +1 -1
  237. package/dist/scatterplot/utils/createLegendInfo.d.ts +2 -10
  238. package/dist/scatterplot/utils/createLegendInfo.d.ts.map +1 -1
  239. package/dist/scatterplot/utils/createLegendInfo.js +44 -37
  240. package/dist/scatterplot/utils/createLegendInfo.js.map +1 -1
  241. package/dist/scatterplot/utils/formatColumnValue.d.ts +5 -0
  242. package/dist/scatterplot/utils/formatColumnValue.d.ts.map +1 -0
  243. package/dist/scatterplot/utils/formatColumnValue.js +11 -0
  244. package/dist/scatterplot/utils/formatColumnValue.js.map +1 -0
  245. package/dist/scatterplot/utils/getVisibleLabels.d.ts +6 -9
  246. package/dist/scatterplot/utils/getVisibleLabels.d.ts.map +1 -1
  247. package/dist/scatterplot/utils/getVisibleLabels.js +46 -56
  248. package/dist/scatterplot/utils/getVisibleLabels.js.map +1 -1
  249. package/dist/scatterplot-umap/ChartRenderer.d.ts +18 -15
  250. package/dist/scatterplot-umap/ChartRenderer.d.ts.map +1 -1
  251. package/dist/scatterplot-umap/ChartRenderer.js +231 -214
  252. package/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
  253. package/dist/scatterplot-umap/SettingsImpl.d.ts +2 -2
  254. package/dist/scatterplot-umap/SettingsImpl.d.ts.map +1 -1
  255. package/dist/scatterplot-umap/SettingsImpl.js +25 -25
  256. package/dist/scatterplot-umap/SettingsImpl.js.map +1 -1
  257. package/dist/scatterplot-umap/colors.d.ts +6 -0
  258. package/dist/scatterplot-umap/colors.d.ts.map +1 -0
  259. package/dist/scatterplot-umap/colors.js +42 -0
  260. package/dist/scatterplot-umap/colors.js.map +1 -0
  261. package/dist/scatterplot-umap/components/LowerSVG.d.ts +2 -2
  262. package/dist/scatterplot-umap/components/LowerSVG.d.ts.map +1 -1
  263. package/dist/scatterplot-umap/components/LowerSVG.js +97 -94
  264. package/dist/scatterplot-umap/components/LowerSVG.js.map +1 -1
  265. package/dist/scatterplot-umap/components/UpperSVG.d.ts.map +1 -1
  266. package/dist/scatterplot-umap/components/UpperSVG.js +20 -19
  267. package/dist/scatterplot-umap/components/UpperSVG.js.map +1 -1
  268. package/dist/scatterplot-umap/index.d.ts +0 -2
  269. package/dist/scatterplot-umap/index.d.ts.map +1 -1
  270. package/dist/scatterplot-umap/index.js +77 -102
  271. package/dist/scatterplot-umap/index.js.map +1 -1
  272. package/dist/scatterplot-umap/types.d.ts +7 -10
  273. package/dist/scatterplot-umap/types.d.ts.map +1 -1
  274. package/dist/types/bubble.d.ts +44 -12
  275. package/dist/types/bubble.d.ts.map +1 -1
  276. package/dist/types/common.d.ts +22 -3
  277. package/dist/types/common.d.ts.map +1 -1
  278. package/dist/types/common.js +3 -1
  279. package/dist/types/common.js.map +1 -1
  280. package/dist/types/dendro.d.ts +113 -10
  281. package/dist/types/dendro.d.ts.map +1 -1
  282. package/dist/types/dendro.js +1 -1
  283. package/dist/types/dendro.js.map +1 -1
  284. package/dist/types/discrete.d.ts +99 -22
  285. package/dist/types/discrete.d.ts.map +1 -1
  286. package/dist/types/discrete.js +3 -3
  287. package/dist/types/discrete.js.map +1 -1
  288. package/dist/types/heatmap.d.ts +187 -28
  289. package/dist/types/heatmap.d.ts.map +1 -1
  290. package/dist/types/heatmap.js +1 -1
  291. package/dist/types/heatmap.js.map +1 -1
  292. package/dist/types/histogram.d.ts +30 -8
  293. package/dist/types/histogram.d.ts.map +1 -1
  294. package/dist/types/histogram.js +1 -1
  295. package/dist/types/histogram.js.map +1 -1
  296. package/dist/types/scatterplot-umap.d.ts +149 -15
  297. package/dist/types/scatterplot-umap.d.ts.map +1 -1
  298. package/dist/types/scatterplot-umap.js +9 -9
  299. package/dist/types/scatterplot-umap.js.map +1 -1
  300. package/dist/types/scatterplot.d.ts +164 -12
  301. package/dist/types/scatterplot.d.ts.map +1 -1
  302. package/dist/types/scatterplot.js +1 -1
  303. package/dist/types/scatterplot.js.map +1 -1
  304. package/dist/utils/TextMeasurer/TextMeasurer.d.ts +7 -0
  305. package/dist/utils/TextMeasurer/TextMeasurer.d.ts.map +1 -0
  306. package/dist/utils/TextMeasurer/TextMeasurer.js +42 -0
  307. package/dist/utils/TextMeasurer/TextMeasurer.js.map +1 -0
  308. package/dist/utils/TextMeasurer/charToWidth.json.js +155 -0
  309. package/dist/utils/TextMeasurer/charToWidth.json.js.map +1 -0
  310. package/dist/utils/arrangeLegendParts.js +1 -1
  311. package/dist/utils/arrangeLegendParts.js.map +1 -1
  312. package/dist/utils/getChartEdgeSides.d.ts +1 -1
  313. package/dist/utils/getLegendWidth.d.ts.map +1 -1
  314. package/dist/utils/getLegendWidth.js +1 -1
  315. package/dist/utils/getLegendWidth.js.map +1 -1
  316. package/package.json +5 -3
  317. package/dist/bubble/getCells.d.ts.map +0 -1
  318. package/dist/bubble/getCells.js +0 -91
  319. package/dist/bubble/getCells.js.map +0 -1
  320. package/dist/node_modules/d3-quadtree/src/add.js +0 -30
  321. package/dist/node_modules/d3-quadtree/src/add.js.map +0 -1
  322. package/dist/node_modules/d3-quadtree/src/cover.js +0 -29
  323. package/dist/node_modules/d3-quadtree/src/cover.js.map +0 -1
  324. package/dist/node_modules/d3-quadtree/src/data.js +0 -12
  325. package/dist/node_modules/d3-quadtree/src/data.js.map +0 -1
  326. package/dist/node_modules/d3-quadtree/src/extent.js +0 -7
  327. package/dist/node_modules/d3-quadtree/src/extent.js.map +0 -1
  328. package/dist/node_modules/d3-quadtree/src/find.js +0 -26
  329. package/dist/node_modules/d3-quadtree/src/find.js.map +0 -1
  330. package/dist/node_modules/d3-quadtree/src/quad.js +0 -7
  331. package/dist/node_modules/d3-quadtree/src/quad.js.map +0 -1
  332. package/dist/node_modules/d3-quadtree/src/quadtree.js +0 -51
  333. package/dist/node_modules/d3-quadtree/src/quadtree.js.map +0 -1
  334. package/dist/node_modules/d3-quadtree/src/remove.js +0 -21
  335. package/dist/node_modules/d3-quadtree/src/remove.js.map +0 -1
  336. package/dist/node_modules/d3-quadtree/src/root.js +0 -7
  337. package/dist/node_modules/d3-quadtree/src/root.js.map +0 -1
  338. package/dist/node_modules/d3-quadtree/src/size.js +0 -12
  339. package/dist/node_modules/d3-quadtree/src/size.js.map +0 -1
  340. package/dist/node_modules/d3-quadtree/src/visit.js +0 -14
  341. package/dist/node_modules/d3-quadtree/src/visit.js.map +0 -1
  342. package/dist/node_modules/d3-quadtree/src/visitAfter.js +0 -19
  343. package/dist/node_modules/d3-quadtree/src/visitAfter.js.map +0 -1
  344. package/dist/node_modules/d3-quadtree/src/x.js +0 -11
  345. package/dist/node_modules/d3-quadtree/src/x.js.map +0 -1
  346. package/dist/node_modules/d3-quadtree/src/y.js +0 -11
  347. package/dist/node_modules/d3-quadtree/src/y.js.map +0 -1
  348. package/dist/utils/TextMeasurer.d.ts +0 -8
  349. package/dist/utils/TextMeasurer.d.ts.map +0 -1
  350. package/dist/utils/TextMeasurer.js +0 -27
  351. package/dist/utils/TextMeasurer.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import { AbstractChart } from '../AbstractChart';
2
- import { HistogramLegendInfo } from './components/types';
3
- import { GroupedHistogramData } from './getHistogramData';
2
+ import { DataFrame } from '../DataFrame';
4
3
  import { HistogramEventHandlers, HistogramSettings } from '../types';
5
4
  import { default as ChartRenderer } from './ChartRenderer';
5
+ import { HistogramLegendInfo } from './components/types';
6
+ import { GroupedHistogramData } from './getHistogramData';
6
7
  import { HistogramSettingsImpl } from './HistogramSettingsImpl';
7
- import { DataFrame } from '../DataFrame';
8
8
  export declare class ChartHistogram extends AbstractChart {
9
9
  settings: HistogramSettingsImpl;
10
10
  chartRenderer: ChartRenderer;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/histogram/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAa,sBAAsB,EAAM,MAAM,UAAU,CAAC;AACtE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAGhD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAwB5C,qBAAa,cAAe,SAAQ,aAAa;IAC7C,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,gBAAuB;IAEpC,mBAAmB,EAAE,CAAC,CAAC,EAAC,OAAO,KAAK,IAAI,CAAmB;IAC3D,cAAc,EAAE;QACZ,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,qBAAqB,EAAE,MAAM,EAAE,EAAE,CAAC;QAClC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAC3D,UAAU,EAAE,mBAAmB,CAAA;KAClC,GAAG,IAAI,CAAQ;gBAEJ,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,sBAAsB;IAShG,KAAK,CAAC,IAAI,EAAE,WAAW;IAYvB,OAAO;IAIP,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB;IAsBlE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAIhD,MAAM,IAAI,MAAM;IAKhB,mCAAmC,CAAC,YAAY,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB;IAcxG,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS;IAUpE,WAAW;IAuBX,gBAAgB;IAOhB,YAAY;CAqBf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/histogram/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAwB,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEhG,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AA6BhE,qBAAa,cAAe,SAAQ,aAAa;IAC7C,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,gBAAuB;IAEpC,mBAAmB,EAAE,CAAC,CAAC,EAAC,OAAO,KAAK,IAAI,CAAmB;IAC3D,cAAc,EAAE;QACZ,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,qBAAqB,EAAE,MAAM,EAAE,EAAE,CAAC;QAClC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAC3D,UAAU,EAAE,mBAAmB,CAAA;KAClC,GAAG,IAAI,CAAQ;gBAEJ,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,sBAAsB;IAShG,KAAK,CAAC,IAAI,EAAE,WAAW;IAavB,OAAO;IAIP,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB;IAuBlE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAIhD,MAAM,IAAI,MAAM;IAKhB,mCAAmC,CAAC,YAAY,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB;IAcxG,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS;IAUpE,WAAW;IAuBX,gBAAgB;IAOhB,YAAY;CAsBf"}
@@ -1,28 +1,31 @@
1
- var D = Object.defineProperty;
2
- var _ = (c, u, t) => u in c ? D(c, u, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[u] = t;
3
- var d = (c, u, t) => _(c, typeof u != "symbol" ? u + "" : u, t);
4
- import { AbstractChart as v } from "../AbstractChart.js";
5
- import { createHistogramDataByFacets as b } from "./getHistogramData.js";
6
- import m from "../node_modules/lodash/lodash.js";
7
- import { renderToString as B } from "../node_modules/react-dom/server.browser.js";
8
- import S from "./ChartRenderer.js";
9
- import { HistogramSettingsImpl as p } from "./HistogramSettingsImpl.js";
1
+ var y = Object.defineProperty;
2
+ var D = (u, c, t) => c in u ? y(u, c, { enumerable: !0, configurable: !0, writable: !0, value: t }) : u[c] = t;
3
+ var d = (u, c, t) => D(u, typeof c != "symbol" ? c + "" : c, t);
4
+ import { l as _ } from "../node_modules/lodash/lodash.js";
5
+ import { renderToString as v } from "../node_modules/react-dom/server.browser.js";
6
+ import { AbstractChart as b } from "../AbstractChart.js";
10
7
  import { getKeysCombinations as x } from "../utils/getKeysCombination.js";
11
- function A(c, u, t) {
12
- return u.reduce((e, a) => {
13
- const i = m.uniqBy(c.rows, (r) => r[a.value]), o = (r) => String(r[a.value]), l = (r) => a.valueLabels ? String(r[a.valueLabels]) : o(r), n = i.reduce((r, s) => (r[o(s)] = l(s), r), {});
8
+ import B from "./ChartRenderer.js";
9
+ import { createHistogramDataByFacets as A } from "./getHistogramData.js";
10
+ import { HistogramSettingsImpl as p } from "./HistogramSettingsImpl.js";
11
+ function R(u, c, t) {
12
+ return c.reduce((e, a) => {
13
+ const n = u.getColumnCategories(a.value, !1), l = (r) => a.valueLabels ? String(u.getColumnValue(
14
+ a.valueLabels,
15
+ u.getColumnCategoryRowIndex(a.value, r)
16
+ )) : r, i = n.reduce((r, s) => (r[s] = l(s), r), {});
14
17
  return e[a.value] = {
15
- values: i.map(o).filter((r) => r !== "null").sort((r, s) => n[r].localeCompare(n[s], "en", { numeric: !0 })),
18
+ values: n.sort((r, s) => i[r].localeCompare(i[s], "en", { numeric: !0 })),
16
19
  aesMap: t[a.value],
17
- labels: n
20
+ labels: i
18
21
  }, e;
19
22
  }, {});
20
23
  }
21
- class T extends v {
24
+ class T extends b {
22
25
  constructor(t, e, a) {
23
26
  super(t, e);
24
27
  d(this, "settings");
25
- d(this, "chartRenderer", new S());
28
+ d(this, "chartRenderer", new B());
26
29
  d(this, "onTooltipHintSwitch", () => {
27
30
  });
28
31
  d(this, "calculatedData", null);
@@ -32,7 +35,7 @@ class T extends v {
32
35
  try {
33
36
  this.chartRenderer.init(t), this._updateData(), this._updateChart();
34
37
  } catch (e) {
35
- e instanceof Error && this.chartRenderer.renderError(e.message);
38
+ e instanceof Error && (this.chartRenderer.renderError(e.message), console.error(e));
36
39
  }
37
40
  }
38
41
  unmount() {
@@ -40,48 +43,48 @@ class T extends v {
40
43
  }
41
44
  updateSettingsAndData(t, e) {
42
45
  try {
43
- const a = this.settings, i = this.data;
44
- this.settings = new p(e), this.data = t, this._needUpdateCalculatedDataBySettings(a, this.settings) || this._needUpdateCalculatedDataByData(i, this.data) ? this._updateData() : this._updateAesInData(), this._updateChart();
46
+ const a = this.settings, n = this.data;
47
+ this.settings = new p(e), this.data = t, this._needUpdateCalculatedDataBySettings(a, this.settings) || this._needUpdateCalculatedDataByData(n, this.data) ? this._updateData() : this._updateAesInData(), this._updateChart();
45
48
  } catch (a) {
46
- a instanceof Error && this.chartRenderer.renderError(a.message);
49
+ a instanceof Error && (this.chartRenderer.renderError(a.message), console.error(a));
47
50
  }
48
51
  }
49
52
  updateChartState(t, e) {
50
53
  console.warn("no chart state for histogram");
51
54
  }
52
55
  export() {
53
- return this._updateChart(), B(this.chartRenderer.component);
56
+ return this._updateChart(), v(this.chartRenderer.component);
54
57
  }
55
58
  _needUpdateCalculatedDataBySettings(t, e) {
56
- var a, i, o, l;
57
- return t.valueColumn.value !== e.valueColumn.value || t.facetBy.some((n, r) => {
58
- var s;
59
- return n.value !== ((s = e.facetBy[r]) == null ? void 0 : s.value);
60
- }) || ((a = t.grouping) == null ? void 0 : a.value) !== ((i = e.grouping) == null ? void 0 : i.value) || t.layers.length !== e.layers.length || t.layers.some((n, r) => n.type !== e.layers[r].type) || t.binsCount !== e.binsCount || t.chartSettings.xAxis.scale !== e.chartSettings.xAxis.scale || ((o = t.groupingOrder) == null ? void 0 : o.some((n, r) => {
61
- var s;
62
- return n !== ((s = e.groupingOrder) == null ? void 0 : s[r]);
63
- })) || ((l = e.groupingOrder) == null ? void 0 : l.some((n, r) => {
64
- var s;
65
- return n !== ((s = t.groupingOrder) == null ? void 0 : s[r]);
59
+ var a, n, l, i;
60
+ return t.valueColumn.value !== e.valueColumn.value || t.facetBy.some((r, s) => {
61
+ var o;
62
+ return r.value !== ((o = e.facetBy[s]) == null ? void 0 : o.value);
63
+ }) || ((a = t.grouping) == null ? void 0 : a.value) !== ((n = e.grouping) == null ? void 0 : n.value) || t.layers.length !== e.layers.length || t.layers.some((r, s) => r.type !== e.layers[s].type) || t.binsCount !== e.binsCount || t.chartSettings.xAxis.scale !== e.chartSettings.xAxis.scale || ((l = t.groupingOrder) == null ? void 0 : l.some((r, s) => {
64
+ var o;
65
+ return r !== ((o = e.groupingOrder) == null ? void 0 : o[s]);
66
+ })) || ((i = e.groupingOrder) == null ? void 0 : i.some((r, s) => {
67
+ var o;
68
+ return r !== ((o = t.groupingOrder) == null ? void 0 : o[s]);
66
69
  }));
67
70
  }
68
71
  _needUpdateCalculatedDataByData(t, e) {
69
- const a = Object.keys(t.data), i = Object.keys(e.data);
70
- return t.id !== e.id || a.length !== i.length || a.some((o) => {
71
- var l;
72
- return t.data[o].length !== ((l = e.data[o]) == null ? void 0 : l.length);
72
+ const a = Object.keys(t.data), n = Object.keys(e.data);
73
+ return t.id !== e.id || a.length !== n.length || a.some((l) => {
74
+ var i;
75
+ return t.data[l].length !== ((i = e.data[l]) == null ? void 0 : i.length);
73
76
  });
74
77
  }
75
78
  _updateData() {
76
- const { valueColumn: t, facetBy: e, grouping: a, binsCount: i, chartSettings: o, inheritedAes: l, groupingOrder: n } = this.settings, r = e.map((h) => this.data.getColumnCategories(h.value)), s = r.length ? x([...r]) : [["null"]], f = e.map((h) => h.value) ?? null, y = a ? [a.value] : [];
79
+ const { valueColumn: t, facetBy: e, grouping: a, binsCount: n, chartSettings: l, inheritedAes: i, groupingOrder: r } = this.settings, s = e.map((h) => this.data.getColumnCategories(h.value)), o = s.length ? x([...s]) : [["null"]], m = e.map((h) => h.value) ?? null, f = a ? [a.value] : [];
77
80
  let g = a ? this.data.getColumnCategories(a.value) : ["null"];
78
- n && (g = m.intersection(n, g)), this.data.setGrouping([...f, ...y]);
79
- const C = b(this.data, s, g, t, i, o.xAxis.scale);
81
+ r && (g = _.intersection(r, g)), this.data.setGrouping([...m, ...f]);
82
+ const C = A(this.data, o, g, t, n, l.xAxis.scale);
80
83
  this.calculatedData = {
81
- facetKeys: s.map((h) => h.join(", ")),
82
- facetKeysCombinations: s,
84
+ facetKeys: o.map((h) => h.join(", ")),
85
+ facetKeysCombinations: o,
83
86
  histogramDataByFacets: C,
84
- legendInfo: A(this.data, a ? [a] : [], l)
87
+ legendInfo: R(this.data, a ? [a] : [], i)
85
88
  };
86
89
  }
87
90
  _updateAesInData() {
@@ -90,8 +93,9 @@ class T extends v {
90
93
  _updateChart() {
91
94
  if (!this.calculatedData)
92
95
  return;
93
- const { id: t, chartSettings: e, facetSettings: a, inheritedAes: i, layers: o, grouping: l, groupingDirection: n, groupingStack: r } = this.settings;
96
+ const { id: t, chartSettings: e, facetSettings: a, inheritedAes: n, layers: l, grouping: i, groupingDirection: r, groupingStack: s } = this.settings;
94
97
  this.chartRenderer.render(
98
+ this.data,
95
99
  t,
96
100
  e,
97
101
  a,
@@ -100,11 +104,11 @@ class T extends v {
100
104
  //for titles, if facet by more than 1 column
101
105
  this.calculatedData.histogramDataByFacets,
102
106
  this.calculatedData.legendInfo,
103
- o,
104
- i,
105
107
  l,
106
- r,
107
108
  n,
109
+ i,
110
+ s,
111
+ r,
108
112
  this.onTooltipHintSwitch
109
113
  );
110
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/histogram/index.ts"],"sourcesContent":["import {AbstractChart} from '../AbstractChart';\nimport type {HistogramLegendInfo} from './components/types';\nimport type {GroupedHistogramData} from './getHistogramData';\nimport {createHistogramDataByFacets} from './getHistogramData';\nimport type {ColumnName, HistogramEventHandlers, Row} from '../types';\nimport type {HistogramSettings} from '../types';\nimport lodash from 'lodash';\nimport {renderToString} from 'react-dom/server';\nimport ChartRenderer from './ChartRenderer';\nimport {HistogramSettingsImpl} from './HistogramSettingsImpl';\nimport type {DataFrame} from '../DataFrame';\nimport {getKeysCombinations} from '../utils/getKeysCombination';\n\nfunction getLegendInfo(\n data: DataFrame,\n grouping: ColumnName[],\n inheritedAes: HistogramSettingsImpl['inheritedAes']\n): HistogramLegendInfo {\n return grouping.reduce((res: HistogramLegendInfo, column) => {\n const uniqRowsByGrouping = lodash.uniqBy(data.rows, row => row[column.value]);\n const getValue = (row: Row) => String(row[column.value]);\n const getValueLabel = (row: Row) => (column.valueLabels ? String(row[column.valueLabels]) : getValue(row));\n const labels = uniqRowsByGrouping.reduce((res: Record<string, string>, row) => {\n res[getValue(row)] = getValueLabel(row);\n return res;\n }, {});\n res[column.value] = {\n values: uniqRowsByGrouping.map(getValue).filter((v) => v !== 'null').sort((a, b) => labels[a].localeCompare(labels[b], 'en', {numeric: true})),\n aesMap: inheritedAes[column.value],\n labels,\n };\n return res;\n }, {});\n}\nexport class ChartHistogram extends AbstractChart {\n settings: HistogramSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n facetKeys: string[];\n facetKeysCombinations: string[][];\n histogramDataByFacets: Record<string, GroupedHistogramData>\n legendInfo: HistogramLegendInfo\n } | null = null;\n\n constructor(data: DataFrame, settings: HistogramSettings, eventHandlers?: HistogramEventHandlers) {\n super(data, settings);\n\n this.settings = new HistogramSettingsImpl(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: HistogramSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new HistogramSettingsImpl(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 histogram');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: HistogramSettingsImpl, settings: HistogramSettingsImpl) {\n return (\n prevSettings.valueColumn.value !== settings.valueColumn.value ||\n prevSettings.facetBy.some((el, idx) => el.value !== settings.facetBy[idx]?.value) ||\n prevSettings.grouping?.value !== settings.grouping?.value ||\n prevSettings.layers.length !== settings.layers.length ||\n prevSettings.layers.some((l, idx) => l.type !== settings.layers[idx].type) ||\n prevSettings.binsCount !== settings.binsCount ||\n prevSettings.chartSettings.xAxis.scale !== settings.chartSettings.xAxis.scale ||\n prevSettings.groupingOrder?.some((key, idx) => key !== settings.groupingOrder?.[idx]) ||\n settings.groupingOrder?.some((key, idx) => key !== prevSettings.groupingOrder?.[idx])\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 {valueColumn, facetBy, grouping, binsCount, chartSettings, inheritedAes, groupingOrder} = this.settings;\n\n const facetKeysLists = facetBy.map(column => this.data.getColumnCategories(column.value));\n const facetKeysCombinations = facetKeysLists.length ? getKeysCombinations([...facetKeysLists]) : [['null']];\n const facetGroupingValues = facetBy.map(column => column.value) ?? null;\n const groupingValues = grouping ? [grouping.value] : [];\n let groupingKeys = grouping ? this.data.getColumnCategories(grouping.value) : ['null'];\n if (groupingOrder) {\n groupingKeys = lodash.intersection(groupingOrder, groupingKeys);\n }\n\n this.data.setGrouping([...facetGroupingValues, ...groupingValues]);\n const histogramDataByFacets = createHistogramDataByFacets(this.data, facetKeysCombinations, groupingKeys, valueColumn, binsCount, chartSettings.xAxis.scale);\n\n this.calculatedData = {\n facetKeys: facetKeysCombinations.map(v => v.join(', ')),\n facetKeysCombinations,\n histogramDataByFacets,\n legendInfo: getLegendInfo(this.data, grouping ? [grouping] : [], inheritedAes)\n };\n }\n\n _updateAesInData() {\n const calculated = this.calculatedData;\n if (!calculated) {\n return;\n }\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {id, chartSettings, facetSettings, inheritedAes, layers, grouping, groupingDirection, groupingStack} = this.settings;\n this.chartRenderer.render(\n id,\n chartSettings,\n facetSettings,\n this.calculatedData.facetKeys,\n this.calculatedData.facetKeysCombinations, //for titles, if facet by more than 1 column\n this.calculatedData.histogramDataByFacets,\n this.calculatedData.legendInfo,\n layers,\n inheritedAes,\n grouping,\n groupingStack,\n groupingDirection,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["getLegendInfo","data","grouping","inheritedAes","res","column","uniqRowsByGrouping","lodash","row","getValue","getValueLabel","labels","v","a","b","ChartHistogram","AbstractChart","settings","eventHandlers","__publicField","ChartRenderer","HistogramSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","el","idx","_a","_b","l","_c","key","_d","prevData","prevKeys","keys","valueColumn","facetBy","binsCount","chartSettings","groupingOrder","facetKeysLists","facetKeysCombinations","getKeysCombinations","facetGroupingValues","groupingValues","groupingKeys","histogramDataByFacets","createHistogramDataByFacets","id","facetSettings","layers","groupingDirection","groupingStack"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/histogram/index.ts"],"sourcesContent":["import {\n intersection\n} from 'lodash';\nimport { renderToString } from 'react-dom/server';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame } from '../DataFrame';\nimport type { Category, ColumnName, HistogramEventHandlers, HistogramSettings } from '../types';\nimport { getKeysCombinations } from '../utils/getKeysCombination';\nimport ChartRenderer from './ChartRenderer';\nimport type { HistogramLegendInfo } from './components/types';\nimport type { GroupedHistogramData } from './getHistogramData';\nimport { createHistogramDataByFacets } from './getHistogramData';\nimport { HistogramSettingsImpl } from './HistogramSettingsImpl';\n\nfunction getLegendInfo(\n data: DataFrame,\n grouping: ColumnName[],\n inheritedAes: HistogramSettingsImpl['inheritedAes']\n): HistogramLegendInfo {\n return grouping.reduce((res: HistogramLegendInfo, column) => {\n const categories = data.getColumnCategories(column.value, false);\n const getValueLabel = (category: Category) => (column.valueLabels\n ? String(data.getColumnValue(\n column.valueLabels,\n data.getColumnCategoryRowIndex(column.value, category)\n ))\n : category\n );\n const labels = categories.reduce((res: Record<string, string>, category) => {\n res[category] = getValueLabel(category);\n return res;\n }, {});\n res[column.value] = {\n values: categories.sort((a, b) => labels[a].localeCompare(labels[b], 'en', {numeric: true})),\n aesMap: inheritedAes[column.value],\n labels,\n };\n return res;\n }, {});\n}\n\nexport class ChartHistogram extends AbstractChart {\n settings: HistogramSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n facetKeys: string[];\n facetKeysCombinations: string[][];\n histogramDataByFacets: Record<string, GroupedHistogramData>\n legendInfo: HistogramLegendInfo\n } | null = null;\n\n constructor(data: DataFrame, settings: HistogramSettings, eventHandlers?: HistogramEventHandlers) {\n super(data, settings);\n\n this.settings = new HistogramSettingsImpl(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: HistogramSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new HistogramSettingsImpl(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 histogram');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: HistogramSettingsImpl, settings: HistogramSettingsImpl) {\n return (\n prevSettings.valueColumn.value !== settings.valueColumn.value ||\n prevSettings.facetBy.some((el, idx) => el.value !== settings.facetBy[idx]?.value) ||\n prevSettings.grouping?.value !== settings.grouping?.value ||\n prevSettings.layers.length !== settings.layers.length ||\n prevSettings.layers.some((l, idx) => l.type !== settings.layers[idx].type) ||\n prevSettings.binsCount !== settings.binsCount ||\n prevSettings.chartSettings.xAxis.scale !== settings.chartSettings.xAxis.scale ||\n prevSettings.groupingOrder?.some((key, idx) => key !== settings.groupingOrder?.[idx]) ||\n settings.groupingOrder?.some((key, idx) => key !== prevSettings.groupingOrder?.[idx])\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 {valueColumn, facetBy, grouping, binsCount, chartSettings, inheritedAes, groupingOrder} = this.settings;\n\n const facetKeysLists = facetBy.map(column => this.data.getColumnCategories(column.value));\n const facetKeysCombinations = facetKeysLists.length ? getKeysCombinations([...facetKeysLists]) : [['null']];\n const facetGroupingValues = facetBy.map(column => column.value) ?? null;\n const groupingValues = grouping ? [grouping.value] : [];\n let groupingKeys = grouping ? this.data.getColumnCategories(grouping.value) : ['null'];\n if (groupingOrder) {\n groupingKeys = intersection(groupingOrder, groupingKeys);\n }\n\n this.data.setGrouping([...facetGroupingValues, ...groupingValues]);\n const histogramDataByFacets = createHistogramDataByFacets(this.data, facetKeysCombinations, groupingKeys, valueColumn, binsCount, chartSettings.xAxis.scale);\n\n this.calculatedData = {\n facetKeys: facetKeysCombinations.map(v => v.join(', ')),\n facetKeysCombinations,\n histogramDataByFacets,\n legendInfo: getLegendInfo(this.data, grouping ? [grouping] : [], inheritedAes)\n };\n }\n\n _updateAesInData() {\n const calculated = this.calculatedData;\n if (!calculated) {\n return;\n }\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {id, chartSettings, facetSettings, inheritedAes, layers, grouping, groupingDirection, groupingStack} = this.settings;\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n facetSettings,\n this.calculatedData.facetKeys,\n this.calculatedData.facetKeysCombinations, //for titles, if facet by more than 1 column\n this.calculatedData.histogramDataByFacets,\n this.calculatedData.legendInfo,\n layers,\n inheritedAes,\n grouping,\n groupingStack,\n groupingDirection,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["getLegendInfo","data","grouping","inheritedAes","res","column","categories","getValueLabel","category","labels","a","b","ChartHistogram","AbstractChart","settings","eventHandlers","__publicField","ChartRenderer","HistogramSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","el","idx","_a","_b","l","_c","key","_d","prevData","prevKeys","keys","valueColumn","facetBy","binsCount","chartSettings","groupingOrder","facetKeysLists","facetKeysCombinations","getKeysCombinations","facetGroupingValues","groupingValues","groupingKeys","intersection","histogramDataByFacets","createHistogramDataByFacets","v","id","facetSettings","layers","groupingDirection","groupingStack"],"mappings":"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"}
@@ -2,36 +2,36 @@ import L, { isTransition as C } from "../../d3fc-data-join/src/dataJoin.js";
2
2
  import { ticksArrayForAxis as E, tickFormatterForAxis as G } from "./axisTickUtils.js";
3
3
  import H from "../../../d3-shape/src/line.js";
4
4
  import K from "../../../d3-selection/src/select.js";
5
- const Q = (i) => i, Y = (i, o, A = {}) => {
5
+ const Q = (i) => i, Y = (i, o, F = {}) => {
6
6
  let m = [10], p = null, b = () => {
7
- }, F = null, f = 6, c = 6, g = 3;
8
- const $ = H(), T = L("g", "tick").key(Q), v = L("path", "domain"), N = () => ({ offset: [0, c + g] }), V = () => ({ path: [[0, 0], [0, c]] }), I = A.labelOffset || N, B = A.tickPath || V, _ = (t, a) => {
7
+ }, S = null, f = 6, c = 6, g = 3;
8
+ const $ = H(), T = L("g", "tick").key(Q), v = L("path", "domain"), N = () => ({ offset: [0, c + g] }), V = () => ({ path: [[0, 0], [0, c]] }), I = F.labelOffset || N, B = F.tickPath || V, _ = (t, a) => {
9
9
  let s = 0;
10
10
  return t.bandwidth && (s = t.bandwidth() / 2, t.round() && (s = Math.round(s))), (y) => a(t(y) + s, 0);
11
- }, u = (t, a) => x() ? `translate(${a}, ${t})` : `translate(${t}, ${a})`, w = (t) => x() ? t.map((a) => [a[1], a[0]]) : t, x = () => i === "left" || i === "right", e = (t) => {
11
+ }, u = (t, a) => x() ? `translate(${a}, ${t})` : `translate(${t}, ${a})`, w = (t) => x() ? t.map((a) => [a[1], a[0]]) : t, x = () => i === "left" || i === "right", n = (t) => {
12
12
  C(t) && (T.transition(t), v.transition(t)), t.each((a, s, y) => {
13
13
  const h = y[s], P = K(h);
14
14
  h.__scale__ || P.attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", i === "right" ? "start" : i === "left" ? "end" : "middle");
15
15
  const M = h.__scale__ || o;
16
16
  h.__scale__ = o.copy();
17
- const d = E(e), j = G(e), O = i === "bottom" || i === "right" ? 1 : -1, S = ([r, n]) => [r, O * n], k = o.range(), q = w([
17
+ const d = E(n), j = G(n), O = i === "bottom" || i === "right" ? 1 : -1, z = ([r, e]) => [r, O * e], k = o.range(), q = w([
18
18
  [k[0], O * f],
19
19
  [k[0], 0],
20
20
  [k[1], 0],
21
21
  [k[1], O * f]
22
22
  ]), D = v(P, [a]);
23
23
  D.enter().attr("stroke", "#000"), D.attr("d", $(q));
24
- const l = T(P, d), z = d.map((r, n) => I(r, n, d)), J = d.map((r, n) => B(r, n, d));
25
- l.enter().attr("transform", _(M, u)).append("path").attr("stroke", "#000"), l.enter().append("text").attr("transform", (r, n) => u(...S(z[n].offset))).attr("fill", "#000"), l.exit().attr("transform", _(o, u)), l.select("path").attr("visibility", (r, n) => J[n].hidden && "hidden").attr(
24
+ const l = T(P, d), A = d.map((r, e) => I(r, e, d)), J = d.map((r, e) => B(r, e, d));
25
+ l.enter().attr("transform", _(M, u)).append("path").attr("stroke", "#000"), l.enter().append("text").attr("transform", (r, e) => u(...z(A[e].offset))).attr("fill", "#000"), l.exit().attr("transform", _(o, u)), l.select("path").attr("visibility", (r, e) => J[e].hidden && "hidden").attr(
26
26
  "d",
27
- (r, n) => $(w(J[n].path.map(S)))
28
- ), l.select("text").attr("visibility", (r, n) => z[n].hidden && "hidden").attr("transform", (r, n) => u(...S(z[n].offset))).attr("dy", () => {
27
+ (r, e) => $(w(J[e].path.map(z)))
28
+ ), l.select("text").attr("visibility", (r, e) => A[e].hidden && "hidden").attr("transform", (r, e) => u(...z(A[e].offset))).attr("dy", () => {
29
29
  let r = "0em";
30
30
  return x() ? r = "0.32em" : i === "bottom" && (r = "0.71em"), r;
31
31
  }).text(j), l.attr("transform", _(o, u)), b(l, a, s);
32
32
  });
33
33
  };
34
- return e.tickFormat = (...t) => t.length ? (F = t[0], e) : F, e.tickSize = (...t) => t.length ? (c = f = Number(t[0]), e) : c, e.tickSizeInner = (...t) => t.length ? (c = Number(t[0]), e) : c, e.tickSizeOuter = (...t) => t.length ? (f = Number(t[0]), e) : f, e.tickPadding = (...t) => t.length ? (g = t[0], e) : g, e.decorate = (...t) => t.length ? (b = t[0], e) : b, e.scale = (...t) => t.length ? (o = t[0], e) : o, e.ticks = (...t) => (m = [...t], e), e.tickArguments = (...t) => t.length ? (m = t[0] == null ? [] : [...t[0]], e) : m !== null ? m.slice() : null, e.tickValues = (...t) => t.length ? (p = t[0] == null ? [] : [...t[0]], e) : p !== null ? p.slice() : null, e.orient = () => i, e;
34
+ return n.tickFormat = (...t) => t.length ? (S = t[0], n) : S, n.tickSize = (...t) => t.length ? (c = f = Number(t[0]), n) : c, n.tickSizeInner = (...t) => t.length ? (c = Number(t[0]), n) : c, n.tickSizeOuter = (...t) => t.length ? (f = Number(t[0]), n) : f, n.tickPadding = (...t) => t.length ? (g = t[0], n) : g, n.decorate = (...t) => t.length ? (b = t[0], n) : b, n.scale = (...t) => t.length ? (o = t[0], n) : o, n.ticks = (...t) => (m = [...t], n), n.tickArguments = (...t) => t.length ? (m = t[0] == null ? [] : [...t[0]], n) : m !== null ? m.slice() : null, n.tickValues = (...t) => t.length ? (p = t[0] == null ? [] : [...t[0]], n) : p !== null ? p.slice() : null, n.orient = () => i, n;
35
35
  };
36
36
  export {
37
37
  Y as axisBase
@@ -1,14 +1,8 @@
1
- function l(i, d) {
2
- let n;
3
- if (d === void 0)
4
- for (const e of i)
5
- e != null && (n > e || n === void 0 && e >= e) && (n = e);
6
- else {
7
- let e = -1;
8
- for (let f of i)
9
- (f = d(f, ++e, i)) != null && (n > f || n === void 0 && f >= f) && (n = f);
10
- }
11
- return n;
1
+ function l(f, u) {
2
+ let e;
3
+ for (const n of f)
4
+ n != null && (e > n || e === void 0 && n >= n) && (e = n);
5
+ return e;
12
6
  }
13
7
  export {
14
8
  l as default
@@ -1 +1 @@
1
- {"version":3,"file":"min.js","sources":["../../../../node_modules/d3-array/src/min.js"],"sourcesContent":["export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n"],"names":["min","values","valueof","value","index"],"mappings":"AAAe,SAASA,EAAIC,GAAQC,GAAS;AAC3C,MAAIF;AACJ,MAAIE,MAAY;AACd,eAAWC,KAASF;AAClB,MAAIE,KAAS,SACLH,IAAMG,KAAUH,MAAQ,UAAaG,KAASA,OACpDH,IAAMG;AAAA,OAGL;AACL,QAAIC,IAAQ;AACZ,aAASD,KAASF;AAChB,OAAKE,IAAQD,EAAQC,GAAO,EAAEC,GAAOH,CAAM,MAAM,SACzCD,IAAMG,KAAUH,MAAQ,UAAaG,KAASA,OACpDH,IAAMG;AAAA,EAGZ;AACA,SAAOH;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"min.js","sources":["../../../../node_modules/d3-array/src/min.js"],"sourcesContent":["export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n"],"names":["min","values","valueof","value"],"mappings":"AAAe,SAASA,EAAIC,GAAQC,GAAS;AAC3C,MAAIF;AAEF,aAAWG,KAASF;AAClB,IAAIE,KAAS,SACLH,IAAMG,KAAUH,MAAQ,UAAaG,KAASA,OACpDH,IAAMG;AAYZ,SAAOH;AACT;","x_google_ignoreList":[0]}
@@ -5,51 +5,51 @@ import X from "./line.js";
5
5
  import { withPath as Y } from "./path.js";
6
6
  import { x as b, y as j } from "./point.js";
7
7
  function C(u, f, o) {
8
- var c = null, g = i(!0), l = null, a = A, r = null, x = Y(e);
8
+ var c = null, g = i(!0), l = null, a = A, r = null, x = Y(t);
9
9
  u = typeof u == "function" ? u : u === void 0 ? b : i(+u), f = typeof f == "function" ? f : f === void 0 ? i(0) : i(+f), o = typeof o == "function" ? o : o === void 0 ? j : i(+o);
10
- function e(n) {
11
- var t, E, p, h = (n = z(n)).length, m, s = !1, v, S = new Array(h), w = new Array(h);
12
- for (l == null && (r = a(v = x())), t = 0; t <= h; ++t) {
13
- if (!(t < h && g(m = n[t], t, n)) === s)
10
+ function t(n) {
11
+ var e, E, p, h = (n = z(n)).length, m, s = !1, v, S = new Array(h), w = new Array(h);
12
+ for (l == null && (r = a(v = x())), e = 0; e <= h; ++e) {
13
+ if (!(e < h && g(m = n[e], e, n)) === s)
14
14
  if (s = !s)
15
- E = t, r.areaStart(), r.lineStart();
15
+ E = e, r.areaStart(), r.lineStart();
16
16
  else {
17
- for (r.lineEnd(), r.lineStart(), p = t - 1; p >= E; --p)
17
+ for (r.lineEnd(), r.lineStart(), p = e - 1; p >= E; --p)
18
18
  r.point(S[p], w[p]);
19
19
  r.lineEnd(), r.areaEnd();
20
20
  }
21
- s && (S[t] = +u(m, t, n), w[t] = +f(m, t, n), r.point(c ? +c(m, t, n) : S[t], o ? +o(m, t, n) : w[t]));
21
+ s && (S[e] = +u(m, e, n), w[e] = +f(m, e, n), r.point(c ? +c(m, e, n) : S[e], o ? +o(m, e, n) : w[e]));
22
22
  }
23
23
  if (v) return r = null, v + "" || null;
24
24
  }
25
25
  function d() {
26
26
  return X().defined(g).curve(a).context(l);
27
27
  }
28
- return e.x = function(n) {
29
- return arguments.length ? (u = typeof n == "function" ? n : i(+n), c = null, e) : u;
30
- }, e.x0 = function(n) {
31
- return arguments.length ? (u = typeof n == "function" ? n : i(+n), e) : u;
32
- }, e.x1 = function(n) {
33
- return arguments.length ? (c = n == null ? null : typeof n == "function" ? n : i(+n), e) : c;
34
- }, e.y = function(n) {
35
- return arguments.length ? (f = typeof n == "function" ? n : i(+n), o = null, e) : f;
36
- }, e.y0 = function(n) {
37
- return arguments.length ? (f = typeof n == "function" ? n : i(+n), e) : f;
38
- }, e.y1 = function(n) {
39
- return arguments.length ? (o = n == null ? null : typeof n == "function" ? n : i(+n), e) : o;
40
- }, e.lineX0 = e.lineY0 = function() {
28
+ return t.x = function(n) {
29
+ return arguments.length ? (u = typeof n == "function" ? n : i(+n), c = null, t) : u;
30
+ }, t.x0 = function(n) {
31
+ return arguments.length ? (u = typeof n == "function" ? n : i(+n), t) : u;
32
+ }, t.x1 = function(n) {
33
+ return arguments.length ? (c = n == null ? null : typeof n == "function" ? n : i(+n), t) : c;
34
+ }, t.y = function(n) {
35
+ return arguments.length ? (f = typeof n == "function" ? n : i(+n), o = null, t) : f;
36
+ }, t.y0 = function(n) {
37
+ return arguments.length ? (f = typeof n == "function" ? n : i(+n), t) : f;
38
+ }, t.y1 = function(n) {
39
+ return arguments.length ? (o = n == null ? null : typeof n == "function" ? n : i(+n), t) : o;
40
+ }, t.lineX0 = t.lineY0 = function() {
41
41
  return d().x(u).y(f);
42
- }, e.lineY1 = function() {
42
+ }, t.lineY1 = function() {
43
43
  return d().x(u).y(o);
44
- }, e.lineX1 = function() {
44
+ }, t.lineX1 = function() {
45
45
  return d().x(c).y(f);
46
- }, e.defined = function(n) {
47
- return arguments.length ? (g = typeof n == "function" ? n : i(!!n), e) : g;
48
- }, e.curve = function(n) {
49
- return arguments.length ? (a = n, l != null && (r = a(l)), e) : a;
50
- }, e.context = function(n) {
51
- return arguments.length ? (n == null ? l = r = null : r = a(l = n), e) : l;
52
- }, e;
46
+ }, t.defined = function(n) {
47
+ return arguments.length ? (g = typeof n == "function" ? n : i(!!n), t) : g;
48
+ }, t.curve = function(n) {
49
+ return arguments.length ? (a = n, l != null && (r = a(l)), t) : a;
50
+ }, t.context = function(n) {
51
+ return arguments.length ? (n == null ? l = r = null : r = a(l = n), t) : l;
52
+ }, t;
53
53
  }
54
54
  export {
55
55
  C as default
@@ -1,13 +1,13 @@
1
- import a from "./array.js";
1
+ import d from "./array.js";
2
2
  import o from "./constant.js";
3
- import d from "./curve/linear.js";
3
+ import a from "./curve/linear.js";
4
4
  import { withPath as v } from "./path.js";
5
- import { x as S, y as b } from "./point.js";
5
+ import { x as b, y as w } from "./point.js";
6
6
  function j(e, r) {
7
- var m = o(!0), i = null, l = d, u = null, s = v(t);
8
- e = typeof e == "function" ? e : e === void 0 ? S : o(e), r = typeof r == "function" ? r : r === void 0 ? b : o(r);
7
+ var m = o(!0), i = null, l = a, u = null, s = v(t);
8
+ e = typeof e == "function" ? e : e === void 0 ? b : o(e), r = typeof r == "function" ? r : r === void 0 ? w : o(r);
9
9
  function t(n) {
10
- var f, h = (n = a(n)).length, p, c = !1, g;
10
+ var f, h = (n = d(n)).length, p, c = !1, g;
11
11
  for (i == null && (u = l(g = s())), f = 0; f <= h; ++f)
12
12
  !(f < h && m(p = n[f], f, n)) === c && ((c = !c) ? u.lineStart() : u.lineEnd()), c && u.point(+e(p, f, n), +r(p, f, n));
13
13
  if (g) return u = null, g + "" || null;
@@ -1 +1 @@
1
- {"version":3,"file":"line.js","sources":["../../../../node_modules/d3-shape/src/line.js"],"sourcesContent":["import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n"],"names":["lineShape","x","y","defined","constant","context","curve","curveLinear","output","path","withPath","line","pointX","pointY","data","i","n","array","d","defined0","buffer","_"],"mappings":";;;;;AAMe,SAAAA,EAASC,GAAGC,GAAG;AAC5B,MAAIC,IAAUC,EAAS,EAAI,GACvBC,IAAU,MACVC,IAAQC,GACRC,IAAS,MACTC,IAAOC,EAASC,CAAI;AAExBV,EAAAA,IAAI,OAAOA,KAAM,aAAaA,IAAKA,MAAM,SAAaW,IAASR,EAASH,CAAC,GACzEC,IAAI,OAAOA,KAAM,aAAaA,IAAKA,MAAM,SAAaW,IAAST,EAASF,CAAC;AAEzE,WAASS,EAAKG,GAAM;AAClB,QAAIC,GACAC,KAAKF,IAAOG,EAAMH,CAAI,GAAG,QACzBI,GACAC,IAAW,IACXC;AAIJ,SAFIf,KAAW,SAAMG,IAASF,EAAMc,IAASX,GAAM,IAE9CM,IAAI,GAAGA,KAAKC,GAAG,EAAED;AACpB,MAAI,EAAEA,IAAIC,KAAKb,EAAQe,IAAIJ,EAAKC,CAAC,GAAGA,GAAGD,CAAI,OAAOK,OAC5CA,IAAW,CAACA,KAAUX,EAAO,UAAS,IACrCA,EAAO,QAAO,IAEjBW,KAAUX,EAAO,MAAM,CAACP,EAAEiB,GAAGH,GAAGD,CAAI,GAAG,CAACZ,EAAEgB,GAAGH,GAAGD,CAAI,CAAC;AAG3D,QAAIM,EAAQ,QAAOZ,IAAS,MAAMY,IAAS,MAAM;AAAA,EACnD;AAEA,SAAAT,EAAK,IAAI,SAASU,GAAG;AACnB,WAAO,UAAU,UAAUpB,IAAI,OAAOoB,KAAM,aAAaA,IAAIjB,EAAS,CAACiB,CAAC,GAAGV,KAAQV;AAAAA,EACrF,GAEAU,EAAK,IAAI,SAASU,GAAG;AACnB,WAAO,UAAU,UAAUnB,IAAI,OAAOmB,KAAM,aAAaA,IAAIjB,EAAS,CAACiB,CAAC,GAAGV,KAAQT;AAAAA,EACrF,GAEAS,EAAK,UAAU,SAASU,GAAG;AACzB,WAAO,UAAU,UAAUlB,IAAU,OAAOkB,KAAM,aAAaA,IAAIjB,EAAS,CAAC,CAACiB,CAAC,GAAGV,KAAQR;AAAA,EAC5F,GAEAQ,EAAK,QAAQ,SAASU,GAAG;AACvB,WAAO,UAAU,UAAUf,IAAQe,GAAGhB,KAAW,SAASG,IAASF,EAAMD,CAAO,IAAIM,KAAQL;AAAA,EAC9F,GAEAK,EAAK,UAAU,SAASU,GAAG;AACzB,WAAO,UAAU,UAAUA,KAAK,OAAOhB,IAAUG,IAAS,OAAOA,IAASF,EAAMD,IAAUgB,CAAC,GAAGV,KAAQN;AAAA,EACxG,GAEOM;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"line.js","sources":["../../../../node_modules/d3-shape/src/line.js"],"sourcesContent":["import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n"],"names":["line","x","y","defined","constant","context","curve","curveLinear","output","path","withPath","pointX","pointY","data","i","n","array","d","defined0","buffer","_"],"mappings":";;;;;AAMe,SAAAA,EAASC,GAAGC,GAAG;AAC5B,MAAIC,IAAUC,EAAS,EAAI,GACvBC,IAAU,MACVC,IAAQC,GACRC,IAAS,MACTC,IAAOC,EAASV,CAAI;AAExBC,EAAAA,IAAI,OAAOA,KAAM,aAAaA,IAAKA,MAAM,SAAaU,IAASP,EAASH,CAAC,GACzEC,IAAI,OAAOA,KAAM,aAAaA,IAAKA,MAAM,SAAaU,IAASR,EAASF,CAAC;AAEzE,WAASF,EAAKa,GAAM;AAClB,QAAIC,GACAC,KAAKF,IAAOG,EAAMH,CAAI,GAAG,QACzBI,GACAC,IAAW,IACXC;AAIJ,SAFId,KAAW,SAAMG,IAASF,EAAMa,IAASV,GAAM,IAE9CK,IAAI,GAAGA,KAAKC,GAAG,EAAED;AACpB,MAAI,EAAEA,IAAIC,KAAKZ,EAAQc,IAAIJ,EAAKC,CAAC,GAAGA,GAAGD,CAAI,OAAOK,OAC5CA,IAAW,CAACA,KAAUV,EAAO,UAAS,IACrCA,EAAO,QAAO,IAEjBU,KAAUV,EAAO,MAAM,CAACP,EAAEgB,GAAGH,GAAGD,CAAI,GAAG,CAACX,EAAEe,GAAGH,GAAGD,CAAI,CAAC;AAG3D,QAAIM,EAAQ,QAAOX,IAAS,MAAMW,IAAS,MAAM;AAAA,EACnD;AAEA,SAAAnB,EAAK,IAAI,SAASoB,GAAG;AACnB,WAAO,UAAU,UAAUnB,IAAI,OAAOmB,KAAM,aAAaA,IAAIhB,EAAS,CAACgB,CAAC,GAAGpB,KAAQC;AAAAA,EACrF,GAEAD,EAAK,IAAI,SAASoB,GAAG;AACnB,WAAO,UAAU,UAAUlB,IAAI,OAAOkB,KAAM,aAAaA,IAAIhB,EAAS,CAACgB,CAAC,GAAGpB,KAAQE;AAAAA,EACrF,GAEAF,EAAK,UAAU,SAASoB,GAAG;AACzB,WAAO,UAAU,UAAUjB,IAAU,OAAOiB,KAAM,aAAaA,IAAIhB,EAAS,CAAC,CAACgB,CAAC,GAAGpB,KAAQG;AAAA,EAC5F,GAEAH,EAAK,QAAQ,SAASoB,GAAG;AACvB,WAAO,UAAU,UAAUd,IAAQc,GAAGf,KAAW,SAASG,IAASF,EAAMD,CAAO,IAAIL,KAAQM;AAAA,EAC9F,GAEAN,EAAK,UAAU,SAASoB,GAAG;AACzB,WAAO,UAAU,UAAUA,KAAK,OAAOf,IAAUG,IAAS,OAAOA,IAASF,EAAMD,IAAUe,CAAC,GAAGpB,KAAQK;AAAA,EACxG,GAEOL;AACT;","x_google_ignoreList":[0]}
@@ -0,0 +1,148 @@
1
+ const B = [
2
+ Int8Array,
3
+ Uint8Array,
4
+ Uint8ClampedArray,
5
+ Int16Array,
6
+ Uint16Array,
7
+ Int32Array,
8
+ Uint32Array,
9
+ Float32Array,
10
+ Float64Array
11
+ ], T = 1, l = 8;
12
+ class D {
13
+ /**
14
+ * Creates an index from raw `ArrayBuffer` data.
15
+ * @param {ArrayBuffer} data
16
+ */
17
+ static from(t) {
18
+ if (!(t instanceof ArrayBuffer))
19
+ throw new Error("Data must be an instance of ArrayBuffer.");
20
+ const [s, n] = new Uint8Array(t, 0, 2);
21
+ if (s !== 219)
22
+ throw new Error("Data does not appear to be in a KDBush format.");
23
+ const i = n >> 4;
24
+ if (i !== T)
25
+ throw new Error(`Got v${i} data when expected v${T}.`);
26
+ const r = B[n & 15];
27
+ if (!r)
28
+ throw new Error("Unrecognized array type.");
29
+ const [a] = new Uint16Array(t, 2, 1), [o] = new Uint32Array(t, 4, 1);
30
+ return new D(o, a, r, t);
31
+ }
32
+ /**
33
+ * Creates an index that will hold a given number of items.
34
+ * @param {number} numItems
35
+ * @param {number} [nodeSize=64] Size of the KD-tree node (64 by default).
36
+ * @param {TypedArrayConstructor} [ArrayType=Float64Array] The array type used for coordinates storage (`Float64Array` by default).
37
+ * @param {ArrayBuffer} [data] (For internal use only)
38
+ */
39
+ constructor(t, s = 64, n = Float64Array, i) {
40
+ if (isNaN(t) || t < 0) throw new Error(`Unpexpected numItems value: ${t}.`);
41
+ this.numItems = +t, this.nodeSize = Math.min(Math.max(+s, 2), 65535), this.ArrayType = n, this.IndexArrayType = t < 65536 ? Uint16Array : Uint32Array;
42
+ const r = B.indexOf(this.ArrayType), a = t * 2 * this.ArrayType.BYTES_PER_ELEMENT, o = t * this.IndexArrayType.BYTES_PER_ELEMENT, e = (8 - o % 8) % 8;
43
+ if (r < 0)
44
+ throw new Error(`Unexpected typed array class: ${n}.`);
45
+ i && i instanceof ArrayBuffer ? (this.data = i, this.ids = new this.IndexArrayType(this.data, l, t), this.coords = new this.ArrayType(this.data, l + o + e, t * 2), this._pos = t * 2, this._finished = !0) : (this.data = new ArrayBuffer(l + a + o + e), this.ids = new this.IndexArrayType(this.data, l, t), this.coords = new this.ArrayType(this.data, l + o + e, t * 2), this._pos = 0, this._finished = !1, new Uint8Array(this.data, 0, 2).set([219, (T << 4) + r]), new Uint16Array(this.data, 2, 1)[0] = s, new Uint32Array(this.data, 4, 1)[0] = t);
46
+ }
47
+ /**
48
+ * Add a point to the index.
49
+ * @param {number} x
50
+ * @param {number} y
51
+ * @returns {number} An incremental index associated with the added item (starting from `0`).
52
+ */
53
+ add(t, s) {
54
+ const n = this._pos >> 1;
55
+ return this.ids[n] = n, this.coords[this._pos++] = t, this.coords[this._pos++] = s, n;
56
+ }
57
+ /**
58
+ * Perform indexing of the added points.
59
+ */
60
+ finish() {
61
+ const t = this._pos >> 1;
62
+ if (t !== this.numItems)
63
+ throw new Error(`Added ${t} items when expected ${this.numItems}.`);
64
+ return U(this.ids, this.coords, this.nodeSize, 0, this.numItems - 1, 0), this._finished = !0, this;
65
+ }
66
+ /**
67
+ * Search the index for items within a given bounding box.
68
+ * @param {number} minX
69
+ * @param {number} minY
70
+ * @param {number} maxX
71
+ * @param {number} maxY
72
+ * @returns {number[]} An array of indices correponding to the found items.
73
+ */
74
+ range(t, s, n, i) {
75
+ if (!this._finished) throw new Error("Data not yet indexed - call index.finish().");
76
+ const { ids: r, coords: a, nodeSize: o } = this, e = [0, r.length - 1, 0], c = [];
77
+ for (; e.length; ) {
78
+ const f = e.pop() || 0, d = e.pop() || 0, p = e.pop() || 0;
79
+ if (d - p <= o) {
80
+ for (let w = p; w <= d; w++) {
81
+ const x = a[2 * w], M = a[2 * w + 1];
82
+ x >= t && x <= n && M >= s && M <= i && c.push(r[w]);
83
+ }
84
+ continue;
85
+ }
86
+ const y = p + d >> 1, u = a[2 * y], A = a[2 * y + 1];
87
+ u >= t && u <= n && A >= s && A <= i && c.push(r[y]), (f === 0 ? t <= u : s <= A) && (e.push(p), e.push(y - 1), e.push(1 - f)), (f === 0 ? n >= u : i >= A) && (e.push(y + 1), e.push(d), e.push(1 - f));
88
+ }
89
+ return c;
90
+ }
91
+ /**
92
+ * Search the index for items within a given radius.
93
+ * @param {number} qx
94
+ * @param {number} qy
95
+ * @param {number} r Query radius.
96
+ * @returns {number[]} An array of indices correponding to the found items.
97
+ */
98
+ within(t, s, n) {
99
+ if (!this._finished) throw new Error("Data not yet indexed - call index.finish().");
100
+ const { ids: i, coords: r, nodeSize: a } = this, o = [0, i.length - 1, 0], e = [], c = n * n;
101
+ for (; o.length; ) {
102
+ const f = o.pop() || 0, d = o.pop() || 0, p = o.pop() || 0;
103
+ if (d - p <= a) {
104
+ for (let w = p; w <= d; w++)
105
+ S(r[2 * w], r[2 * w + 1], t, s) <= c && e.push(i[w]);
106
+ continue;
107
+ }
108
+ const y = p + d >> 1, u = r[2 * y], A = r[2 * y + 1];
109
+ S(u, A, t, s) <= c && e.push(i[y]), (f === 0 ? t - n <= u : s - n <= A) && (o.push(p), o.push(y - 1), o.push(1 - f)), (f === 0 ? t + n >= u : s + n >= A) && (o.push(y + 1), o.push(d), o.push(1 - f));
110
+ }
111
+ return e;
112
+ }
113
+ }
114
+ function U(h, t, s, n, i, r) {
115
+ if (i - n <= s) return;
116
+ const a = n + i >> 1;
117
+ R(h, t, a, n, i, r), U(h, t, s, n, a - 1, 1 - r), U(h, t, s, a + 1, i, 1 - r);
118
+ }
119
+ function R(h, t, s, n, i, r) {
120
+ for (; i > n; ) {
121
+ if (i - n > 600) {
122
+ const c = i - n + 1, f = s - n + 1, d = Math.log(c), p = 0.5 * Math.exp(2 * d / 3), y = 0.5 * Math.sqrt(d * p * (c - p) / c) * (f - c / 2 < 0 ? -1 : 1), u = Math.max(n, Math.floor(s - f * p / c + y)), A = Math.min(i, Math.floor(s + (c - f) * p / c + y));
123
+ R(h, t, s, u, A, r);
124
+ }
125
+ const a = t[2 * s + r];
126
+ let o = n, e = i;
127
+ for (E(h, t, n, s), t[2 * i + r] > a && E(h, t, n, i); o < e; ) {
128
+ for (E(h, t, o, e), o++, e--; t[2 * o + r] < a; ) o++;
129
+ for (; t[2 * e + r] > a; ) e--;
130
+ }
131
+ t[2 * n + r] === a ? E(h, t, n, e) : (e++, E(h, t, e, i)), e <= s && (n = e + 1), s <= e && (i = e - 1);
132
+ }
133
+ }
134
+ function E(h, t, s, n) {
135
+ _(h, s, n), _(t, 2 * s, 2 * n), _(t, 2 * s + 1, 2 * n + 1);
136
+ }
137
+ function _(h, t, s) {
138
+ const n = h[t];
139
+ h[t] = h[s], h[s] = n;
140
+ }
141
+ function S(h, t, s, n) {
142
+ const i = h - s, r = t - n;
143
+ return i * i + r * r;
144
+ }
145
+ export {
146
+ D as default
147
+ };
148
+ //# sourceMappingURL=index.js.map