@gravity-ui/charts 1.46.0 → 1.46.1

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/cjs/components/ChartInner/useChartInnerProps.js +1 -1
  2. package/dist/cjs/components/Legend/index.js +13 -14
  3. package/dist/cjs/components/Tooltip/index.js +22 -1
  4. package/dist/cjs/core/axes/x-axis.js +1 -1
  5. package/dist/cjs/core/axes/y-axis.js +1 -1
  6. package/dist/cjs/core/scales/utils.d.ts +1 -1
  7. package/dist/cjs/core/scales/utils.js +1 -1
  8. package/dist/cjs/core/scales/x-scale.js +2 -2
  9. package/dist/cjs/core/scales/y-scale.js +48 -4
  10. package/dist/cjs/core/series/prepare-area.js +1 -1
  11. package/dist/cjs/core/series/prepare-bar-x.js +1 -1
  12. package/dist/cjs/core/series/prepare-bar-y.js +1 -1
  13. package/dist/cjs/core/series/prepare-funnel.js +1 -1
  14. package/dist/cjs/core/series/prepare-heatmap.js +1 -1
  15. package/dist/cjs/core/series/prepare-legend.js +2 -2
  16. package/dist/cjs/core/series/prepare-line.js +1 -1
  17. package/dist/cjs/core/series/prepare-pie.js +1 -1
  18. package/dist/cjs/core/series/prepare-radar.js +1 -1
  19. package/dist/cjs/core/series/prepare-sankey.js +1 -1
  20. package/dist/cjs/core/series/prepare-scatter.js +1 -1
  21. package/dist/cjs/core/series/prepare-treemap.js +1 -1
  22. package/dist/cjs/core/series/prepare-waterfall.js +1 -1
  23. package/dist/cjs/core/series/prepare-x-range.js +1 -1
  24. package/dist/cjs/core/series/prepareSeries.d.ts +7 -1
  25. package/dist/cjs/core/series/prepareSeries.js +31 -0
  26. package/dist/cjs/core/series/types.d.ts +5 -0
  27. package/dist/cjs/core/series/utils.d.ts +4 -0
  28. package/dist/cjs/core/series/utils.js +9 -1
  29. package/dist/cjs/{hooks/useShapes/annotation/index.d.ts → core/shapes/annotation.d.ts} +1 -7
  30. package/dist/cjs/{hooks/useShapes/annotation/index.js → core/shapes/annotation.js} +2 -2
  31. package/dist/cjs/{hooks/useShapes → core/shapes}/area/prepare-data.d.ts +4 -4
  32. package/dist/cjs/{hooks/useShapes → core/shapes}/area/prepare-data.js +4 -4
  33. package/dist/cjs/core/shapes/area/renderer.d.ts +11 -0
  34. package/dist/cjs/core/shapes/area/renderer.js +181 -0
  35. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/area/types.d.ts +1 -3
  36. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-x/prepare-data.d.ts +4 -4
  37. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-x/prepare-data.js +6 -6
  38. package/dist/cjs/core/shapes/bar-x/renderer.d.ts +9 -0
  39. package/dist/cjs/core/shapes/bar-x/renderer.js +110 -0
  40. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-x/types.d.ts +1 -2
  41. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-y/prepare-data.d.ts +3 -3
  42. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-y/prepare-data.js +3 -3
  43. package/dist/cjs/core/shapes/bar-y/renderer.d.ts +6 -0
  44. package/dist/cjs/core/shapes/bar-y/renderer.js +80 -0
  45. package/dist/cjs/{hooks/useShapes → core/shapes}/bar-y/types.d.ts +1 -1
  46. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-y/utils.js +1 -1
  47. package/dist/cjs/{hooks/useShapes → core/shapes}/funnel/prepare-data.d.ts +1 -1
  48. package/dist/cjs/{hooks/useShapes → core/shapes}/funnel/prepare-data.js +1 -1
  49. package/dist/cjs/core/shapes/funnel/renderer.d.ts +6 -0
  50. package/dist/cjs/core/shapes/funnel/renderer.js +79 -0
  51. package/dist/cjs/{hooks/useShapes → core/shapes}/funnel/types.d.ts +2 -2
  52. package/dist/cjs/{hooks/useShapes → core/shapes}/heatmap/prepare-data.d.ts +3 -3
  53. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/heatmap/prepare-data.js +2 -2
  54. package/dist/cjs/core/shapes/heatmap/renderer.d.ts +6 -0
  55. package/dist/cjs/core/shapes/heatmap/renderer.js +55 -0
  56. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/heatmap/types.d.ts +1 -1
  57. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/line/prepare-data.d.ts +4 -4
  58. package/dist/cjs/{hooks/useShapes → core/shapes}/line/prepare-data.js +3 -3
  59. package/dist/cjs/core/shapes/line/renderer.d.ts +11 -0
  60. package/dist/cjs/core/shapes/line/renderer.js +167 -0
  61. package/dist/cjs/{hooks/useShapes → core/shapes}/line/types.d.ts +2 -4
  62. package/dist/cjs/core/shapes/marker.d.ts +45 -0
  63. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/marker.js +2 -2
  64. package/dist/cjs/{hooks/useShapes → core/shapes}/pie/prepare-data.d.ts +1 -1
  65. package/dist/cjs/{hooks/useShapes → core/shapes}/pie/prepare-data.js +3 -3
  66. package/dist/cjs/core/shapes/pie/renderer.d.ts +8 -0
  67. package/dist/cjs/core/shapes/pie/renderer.js +160 -0
  68. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/pie/types.d.ts +1 -1
  69. package/dist/cjs/{hooks/useShapes → core/shapes}/radar/prepare-data.d.ts +1 -1
  70. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/radar/prepare-data.js +2 -2
  71. package/dist/cjs/core/shapes/radar/renderer.d.ts +6 -0
  72. package/dist/cjs/core/shapes/radar/renderer.js +126 -0
  73. package/dist/cjs/{hooks/useShapes → core/shapes}/radar/types.d.ts +1 -1
  74. package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/prepare-data.d.ts +1 -1
  75. package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/prepare-data.js +1 -1
  76. package/dist/cjs/core/shapes/sankey/renderer.d.ts +6 -0
  77. package/dist/cjs/core/shapes/sankey/renderer.js +50 -0
  78. package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/types.d.ts +1 -1
  79. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/scatter/prepare-data.d.ts +3 -3
  80. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/scatter/prepare-data.js +2 -2
  81. package/dist/cjs/core/shapes/scatter/renderer.d.ts +6 -0
  82. package/dist/cjs/core/shapes/scatter/renderer.js +52 -0
  83. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/scatter/types.d.ts +1 -1
  84. package/dist/cjs/{hooks/useShapes → core/shapes}/treemap/prepare-data.d.ts +1 -1
  85. package/dist/cjs/{hooks/useShapes → core/shapes}/treemap/prepare-data.js +3 -3
  86. package/dist/cjs/core/shapes/treemap/renderer.d.ts +6 -0
  87. package/dist/cjs/core/shapes/treemap/renderer.js +88 -0
  88. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/treemap/types.d.ts +1 -1
  89. package/dist/cjs/core/shapes/utils.d.ts +52 -0
  90. package/dist/cjs/core/shapes/utils.js +138 -0
  91. package/dist/cjs/{hooks/useShapes → core/shapes}/waterfall/prepare-data.d.ts +3 -3
  92. package/dist/cjs/{hooks/useShapes → core/shapes}/waterfall/prepare-data.js +4 -4
  93. package/dist/cjs/core/shapes/waterfall/renderer.d.ts +6 -0
  94. package/dist/cjs/core/shapes/waterfall/renderer.js +115 -0
  95. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/waterfall/types.d.ts +1 -1
  96. package/dist/cjs/{hooks/useShapes → core/shapes}/x-range/prepare-data.d.ts +3 -3
  97. package/dist/cjs/{hooks/useShapes → core/shapes}/x-range/prepare-data.js +4 -4
  98. package/dist/cjs/core/shapes/x-range/renderer.d.ts +6 -0
  99. package/dist/cjs/core/shapes/x-range/renderer.js +94 -0
  100. package/dist/{esm/hooks/useShapes → cjs/core/shapes}/x-range/types.d.ts +1 -1
  101. package/dist/cjs/core/types/chart/area.d.ts +0 -1
  102. package/dist/cjs/core/types/chart/axis.d.ts +0 -1
  103. package/dist/cjs/core/types/chart/base.d.ts +1 -4
  104. package/dist/cjs/{hooks/utils/get-band-size.js → core/utils/band-size.js} +1 -1
  105. package/dist/{esm/hooks → cjs/core}/utils/bar-y.d.ts +3 -3
  106. package/dist/cjs/{hooks → core}/utils/bar-y.js +4 -4
  107. package/dist/cjs/core/utils/get-closest-data.d.ts +1 -1
  108. package/dist/cjs/core/utils/series/sorting.js +1 -1
  109. package/dist/cjs/core/utils/text.d.ts +0 -1
  110. package/dist/cjs/core/utils/text.js +0 -1
  111. package/dist/cjs/hooks/index.d.ts +1 -1
  112. package/dist/cjs/hooks/index.js +1 -1
  113. package/dist/cjs/hooks/useRangeSlider/types.d.ts +1 -1
  114. package/dist/cjs/hooks/useRangeSlider/utils.d.ts +1 -1
  115. package/dist/cjs/hooks/useShapes/area/index.d.ts +2 -2
  116. package/dist/cjs/hooks/useShapes/area/index.js +13 -185
  117. package/dist/cjs/hooks/useShapes/bar-x/index.d.ts +4 -4
  118. package/dist/cjs/hooks/useShapes/bar-x/index.js +10 -119
  119. package/dist/cjs/hooks/useShapes/bar-y/index.d.ts +3 -3
  120. package/dist/cjs/hooks/useShapes/bar-y/index.js +5 -84
  121. package/dist/cjs/hooks/useShapes/funnel/index.d.ts +4 -4
  122. package/dist/cjs/hooks/useShapes/funnel/index.js +4 -83
  123. package/dist/cjs/hooks/useShapes/heatmap/index.d.ts +4 -4
  124. package/dist/cjs/hooks/useShapes/heatmap/index.js +4 -59
  125. package/dist/cjs/hooks/useShapes/index.d.ts +14 -15
  126. package/dist/cjs/hooks/useShapes/index.js +13 -13
  127. package/dist/cjs/hooks/useShapes/line/index.d.ts +2 -2
  128. package/dist/cjs/hooks/useShapes/line/index.js +14 -172
  129. package/dist/cjs/hooks/useShapes/pie/index.d.ts +3 -5
  130. package/dist/cjs/hooks/useShapes/pie/index.js +3 -158
  131. package/dist/cjs/hooks/useShapes/radar/index.d.ts +2 -2
  132. package/dist/cjs/hooks/useShapes/radar/index.js +2 -121
  133. package/dist/cjs/hooks/useShapes/sankey/index.d.ts +2 -2
  134. package/dist/cjs/hooks/useShapes/sankey/index.js +2 -51
  135. package/dist/cjs/hooks/useShapes/scatter/index.d.ts +3 -3
  136. package/dist/cjs/hooks/useShapes/scatter/index.js +3 -58
  137. package/dist/cjs/hooks/useShapes/treemap/index.d.ts +2 -2
  138. package/dist/cjs/hooks/useShapes/treemap/index.js +2 -88
  139. package/dist/cjs/hooks/useShapes/utils.d.ts +2 -52
  140. package/dist/cjs/hooks/useShapes/utils.js +3 -140
  141. package/dist/cjs/hooks/useShapes/waterfall/index.d.ts +4 -4
  142. package/dist/cjs/hooks/useShapes/waterfall/index.js +6 -119
  143. package/dist/cjs/hooks/useShapes/x-range/index.d.ts +4 -4
  144. package/dist/cjs/hooks/useShapes/x-range/index.js +3 -98
  145. package/dist/cjs/setup-jsdom.js +7 -0
  146. package/dist/esm/components/ChartInner/useChartInnerProps.js +1 -1
  147. package/dist/esm/components/Legend/index.js +13 -14
  148. package/dist/esm/components/Tooltip/index.js +22 -1
  149. package/dist/esm/core/axes/x-axis.js +1 -1
  150. package/dist/esm/core/axes/y-axis.js +1 -1
  151. package/dist/esm/core/scales/utils.d.ts +1 -1
  152. package/dist/esm/core/scales/utils.js +1 -1
  153. package/dist/esm/core/scales/x-scale.js +2 -2
  154. package/dist/esm/core/scales/y-scale.js +48 -4
  155. package/dist/esm/core/series/prepare-area.js +1 -1
  156. package/dist/esm/core/series/prepare-bar-x.js +1 -1
  157. package/dist/esm/core/series/prepare-bar-y.js +1 -1
  158. package/dist/esm/core/series/prepare-funnel.js +1 -1
  159. package/dist/esm/core/series/prepare-heatmap.js +1 -1
  160. package/dist/esm/core/series/prepare-legend.js +2 -2
  161. package/dist/esm/core/series/prepare-line.js +1 -1
  162. package/dist/esm/core/series/prepare-pie.js +1 -1
  163. package/dist/esm/core/series/prepare-radar.js +1 -1
  164. package/dist/esm/core/series/prepare-sankey.js +1 -1
  165. package/dist/esm/core/series/prepare-scatter.js +1 -1
  166. package/dist/esm/core/series/prepare-treemap.js +1 -1
  167. package/dist/esm/core/series/prepare-waterfall.js +1 -1
  168. package/dist/esm/core/series/prepare-x-range.js +1 -1
  169. package/dist/esm/core/series/prepareSeries.d.ts +7 -1
  170. package/dist/esm/core/series/prepareSeries.js +31 -0
  171. package/dist/esm/core/series/types.d.ts +5 -0
  172. package/dist/esm/core/series/utils.d.ts +4 -0
  173. package/dist/esm/core/series/utils.js +9 -1
  174. package/dist/esm/{hooks/useShapes/annotation/index.d.ts → core/shapes/annotation.d.ts} +1 -7
  175. package/dist/esm/{hooks/useShapes/annotation/index.js → core/shapes/annotation.js} +2 -2
  176. package/dist/esm/{hooks/useShapes → core/shapes}/area/prepare-data.d.ts +4 -4
  177. package/dist/esm/{hooks/useShapes → core/shapes}/area/prepare-data.js +4 -4
  178. package/dist/esm/core/shapes/area/renderer.d.ts +11 -0
  179. package/dist/esm/core/shapes/area/renderer.js +181 -0
  180. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/area/types.d.ts +1 -3
  181. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-x/prepare-data.d.ts +4 -4
  182. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-x/prepare-data.js +6 -6
  183. package/dist/esm/core/shapes/bar-x/renderer.d.ts +9 -0
  184. package/dist/esm/core/shapes/bar-x/renderer.js +110 -0
  185. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-x/types.d.ts +1 -2
  186. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-y/prepare-data.d.ts +3 -3
  187. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-y/prepare-data.js +3 -3
  188. package/dist/esm/core/shapes/bar-y/renderer.d.ts +6 -0
  189. package/dist/esm/core/shapes/bar-y/renderer.js +80 -0
  190. package/dist/esm/{hooks/useShapes → core/shapes}/bar-y/types.d.ts +1 -1
  191. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-y/utils.js +1 -1
  192. package/dist/esm/{hooks/useShapes → core/shapes}/funnel/prepare-data.d.ts +1 -1
  193. package/dist/esm/{hooks/useShapes → core/shapes}/funnel/prepare-data.js +1 -1
  194. package/dist/esm/core/shapes/funnel/renderer.d.ts +6 -0
  195. package/dist/esm/core/shapes/funnel/renderer.js +79 -0
  196. package/dist/esm/{hooks/useShapes → core/shapes}/funnel/types.d.ts +2 -2
  197. package/dist/esm/{hooks/useShapes → core/shapes}/heatmap/prepare-data.d.ts +3 -3
  198. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/heatmap/prepare-data.js +2 -2
  199. package/dist/esm/core/shapes/heatmap/renderer.d.ts +6 -0
  200. package/dist/esm/core/shapes/heatmap/renderer.js +55 -0
  201. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/heatmap/types.d.ts +1 -1
  202. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/line/prepare-data.d.ts +4 -4
  203. package/dist/esm/{hooks/useShapes → core/shapes}/line/prepare-data.js +3 -3
  204. package/dist/esm/core/shapes/line/renderer.d.ts +11 -0
  205. package/dist/esm/core/shapes/line/renderer.js +167 -0
  206. package/dist/esm/{hooks/useShapes → core/shapes}/line/types.d.ts +2 -4
  207. package/dist/esm/core/shapes/marker.d.ts +45 -0
  208. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/marker.js +2 -2
  209. package/dist/esm/{hooks/useShapes → core/shapes}/pie/prepare-data.d.ts +1 -1
  210. package/dist/esm/{hooks/useShapes → core/shapes}/pie/prepare-data.js +3 -3
  211. package/dist/esm/core/shapes/pie/renderer.d.ts +8 -0
  212. package/dist/esm/core/shapes/pie/renderer.js +160 -0
  213. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/pie/types.d.ts +1 -1
  214. package/dist/esm/{hooks/useShapes → core/shapes}/radar/prepare-data.d.ts +1 -1
  215. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/radar/prepare-data.js +2 -2
  216. package/dist/esm/core/shapes/radar/renderer.d.ts +6 -0
  217. package/dist/esm/core/shapes/radar/renderer.js +126 -0
  218. package/dist/esm/{hooks/useShapes → core/shapes}/radar/types.d.ts +1 -1
  219. package/dist/esm/{hooks/useShapes → core/shapes}/sankey/prepare-data.d.ts +1 -1
  220. package/dist/esm/{hooks/useShapes → core/shapes}/sankey/prepare-data.js +1 -1
  221. package/dist/esm/core/shapes/sankey/renderer.d.ts +6 -0
  222. package/dist/esm/core/shapes/sankey/renderer.js +50 -0
  223. package/dist/esm/{hooks/useShapes → core/shapes}/sankey/types.d.ts +1 -1
  224. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/scatter/prepare-data.d.ts +3 -3
  225. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/scatter/prepare-data.js +2 -2
  226. package/dist/esm/core/shapes/scatter/renderer.d.ts +6 -0
  227. package/dist/esm/core/shapes/scatter/renderer.js +52 -0
  228. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/scatter/types.d.ts +1 -1
  229. package/dist/esm/{hooks/useShapes → core/shapes}/treemap/prepare-data.d.ts +1 -1
  230. package/dist/esm/{hooks/useShapes → core/shapes}/treemap/prepare-data.js +3 -3
  231. package/dist/esm/core/shapes/treemap/renderer.d.ts +6 -0
  232. package/dist/esm/core/shapes/treemap/renderer.js +88 -0
  233. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/treemap/types.d.ts +1 -1
  234. package/dist/esm/core/shapes/utils.d.ts +52 -0
  235. package/dist/esm/core/shapes/utils.js +138 -0
  236. package/dist/esm/{hooks/useShapes → core/shapes}/waterfall/prepare-data.d.ts +3 -3
  237. package/dist/esm/{hooks/useShapes → core/shapes}/waterfall/prepare-data.js +4 -4
  238. package/dist/esm/core/shapes/waterfall/renderer.d.ts +6 -0
  239. package/dist/esm/core/shapes/waterfall/renderer.js +115 -0
  240. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/waterfall/types.d.ts +1 -1
  241. package/dist/esm/{hooks/useShapes → core/shapes}/x-range/prepare-data.d.ts +3 -3
  242. package/dist/esm/{hooks/useShapes → core/shapes}/x-range/prepare-data.js +4 -4
  243. package/dist/esm/core/shapes/x-range/renderer.d.ts +6 -0
  244. package/dist/esm/core/shapes/x-range/renderer.js +94 -0
  245. package/dist/{cjs/hooks/useShapes → esm/core/shapes}/x-range/types.d.ts +1 -1
  246. package/dist/esm/core/types/chart/area.d.ts +0 -1
  247. package/dist/esm/core/types/chart/axis.d.ts +0 -1
  248. package/dist/esm/core/types/chart/base.d.ts +1 -4
  249. package/dist/esm/{hooks/utils/get-band-size.js → core/utils/band-size.js} +1 -1
  250. package/dist/{cjs/hooks → esm/core}/utils/bar-y.d.ts +3 -3
  251. package/dist/esm/{hooks → core}/utils/bar-y.js +4 -4
  252. package/dist/esm/core/utils/get-closest-data.d.ts +1 -1
  253. package/dist/esm/core/utils/series/sorting.js +1 -1
  254. package/dist/esm/core/utils/text.d.ts +0 -1
  255. package/dist/esm/core/utils/text.js +0 -1
  256. package/dist/esm/hooks/index.d.ts +1 -1
  257. package/dist/esm/hooks/index.js +1 -1
  258. package/dist/esm/hooks/useRangeSlider/types.d.ts +1 -1
  259. package/dist/esm/hooks/useRangeSlider/utils.d.ts +1 -1
  260. package/dist/esm/hooks/useShapes/area/index.d.ts +2 -2
  261. package/dist/esm/hooks/useShapes/area/index.js +13 -185
  262. package/dist/esm/hooks/useShapes/bar-x/index.d.ts +4 -4
  263. package/dist/esm/hooks/useShapes/bar-x/index.js +10 -119
  264. package/dist/esm/hooks/useShapes/bar-y/index.d.ts +3 -3
  265. package/dist/esm/hooks/useShapes/bar-y/index.js +5 -84
  266. package/dist/esm/hooks/useShapes/funnel/index.d.ts +4 -4
  267. package/dist/esm/hooks/useShapes/funnel/index.js +4 -83
  268. package/dist/esm/hooks/useShapes/heatmap/index.d.ts +4 -4
  269. package/dist/esm/hooks/useShapes/heatmap/index.js +4 -59
  270. package/dist/esm/hooks/useShapes/index.d.ts +14 -15
  271. package/dist/esm/hooks/useShapes/index.js +13 -13
  272. package/dist/esm/hooks/useShapes/line/index.d.ts +2 -2
  273. package/dist/esm/hooks/useShapes/line/index.js +14 -172
  274. package/dist/esm/hooks/useShapes/pie/index.d.ts +3 -5
  275. package/dist/esm/hooks/useShapes/pie/index.js +3 -158
  276. package/dist/esm/hooks/useShapes/radar/index.d.ts +2 -2
  277. package/dist/esm/hooks/useShapes/radar/index.js +2 -121
  278. package/dist/esm/hooks/useShapes/sankey/index.d.ts +2 -2
  279. package/dist/esm/hooks/useShapes/sankey/index.js +2 -51
  280. package/dist/esm/hooks/useShapes/scatter/index.d.ts +3 -3
  281. package/dist/esm/hooks/useShapes/scatter/index.js +3 -58
  282. package/dist/esm/hooks/useShapes/treemap/index.d.ts +2 -2
  283. package/dist/esm/hooks/useShapes/treemap/index.js +2 -88
  284. package/dist/esm/hooks/useShapes/utils.d.ts +2 -52
  285. package/dist/esm/hooks/useShapes/utils.js +3 -140
  286. package/dist/esm/hooks/useShapes/waterfall/index.d.ts +4 -4
  287. package/dist/esm/hooks/useShapes/waterfall/index.js +6 -119
  288. package/dist/esm/hooks/useShapes/x-range/index.d.ts +4 -4
  289. package/dist/esm/hooks/useShapes/x-range/index.js +3 -98
  290. package/dist/esm/setup-jsdom.js +7 -0
  291. package/package.json +5 -2
  292. package/dist/cjs/hooks/useSeries/index.d.ts +0 -12
  293. package/dist/cjs/hooks/useSeries/index.js +0 -40
  294. package/dist/cjs/hooks/useSeries/types.d.ts +0 -1
  295. package/dist/cjs/hooks/useSeries/types.js +0 -1
  296. package/dist/cjs/hooks/useSeries/utils.d.ts +0 -1
  297. package/dist/cjs/hooks/useSeries/utils.js +0 -1
  298. package/dist/cjs/hooks/useShapes/marker.d.ts +0 -15
  299. package/dist/cjs/hooks/utils/index.d.ts +0 -1
  300. package/dist/cjs/hooks/utils/index.js +0 -1
  301. package/dist/esm/hooks/useSeries/index.d.ts +0 -12
  302. package/dist/esm/hooks/useSeries/index.js +0 -40
  303. package/dist/esm/hooks/useSeries/types.d.ts +0 -1
  304. package/dist/esm/hooks/useSeries/types.js +0 -1
  305. package/dist/esm/hooks/useSeries/utils.d.ts +0 -1
  306. package/dist/esm/hooks/useSeries/utils.js +0 -1
  307. package/dist/esm/hooks/useShapes/marker.d.ts +0 -15
  308. package/dist/esm/hooks/utils/index.d.ts +0 -1
  309. package/dist/esm/hooks/utils/index.js +0 -1
  310. /package/dist/cjs/{hooks/useShapes → core/shapes}/area/types.js +0 -0
  311. /package/dist/cjs/{hooks/constants.d.ts → core/shapes/bar-constants.d.ts} +0 -0
  312. /package/dist/cjs/{hooks/constants.js → core/shapes/bar-constants.js} +0 -0
  313. /package/dist/cjs/{hooks/useShapes → core/shapes}/bar-x/types.js +0 -0
  314. /package/dist/cjs/{hooks/useShapes → core/shapes}/bar-y/types.js +0 -0
  315. /package/dist/cjs/{hooks/useShapes → core/shapes}/bar-y/utils.d.ts +0 -0
  316. /package/dist/cjs/{hooks/useShapes → core/shapes}/funnel/types.js +0 -0
  317. /package/dist/cjs/{hooks/useShapes → core/shapes}/heatmap/types.js +0 -0
  318. /package/dist/cjs/{hooks/useShapes → core/shapes}/line/types.js +0 -0
  319. /package/dist/cjs/{hooks/useShapes → core/shapes}/pie/types.js +0 -0
  320. /package/dist/cjs/{hooks/useShapes → core/shapes}/pie/utils.d.ts +0 -0
  321. /package/dist/cjs/{hooks/useShapes → core/shapes}/pie/utils.js +0 -0
  322. /package/dist/cjs/{hooks/useShapes → core/shapes}/radar/types.js +0 -0
  323. /package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/sankey-layout.d.ts +0 -0
  324. /package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/sankey-layout.js +0 -0
  325. /package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/types.js +0 -0
  326. /package/dist/cjs/{hooks/useShapes → core/shapes}/scatter/types.js +0 -0
  327. /package/dist/cjs/{hooks/useShapes → core/shapes}/treemap/types.js +0 -0
  328. /package/dist/cjs/{hooks/useShapes → core/shapes}/waterfall/types.js +0 -0
  329. /package/dist/cjs/{hooks/useShapes → core/shapes}/x-range/types.js +0 -0
  330. /package/dist/cjs/{hooks/utils/get-band-size.d.ts → core/utils/band-size.d.ts} +0 -0
  331. /package/dist/esm/{hooks/useShapes → core/shapes}/area/types.js +0 -0
  332. /package/dist/esm/{hooks/constants.d.ts → core/shapes/bar-constants.d.ts} +0 -0
  333. /package/dist/esm/{hooks/constants.js → core/shapes/bar-constants.js} +0 -0
  334. /package/dist/esm/{hooks/useShapes → core/shapes}/bar-x/types.js +0 -0
  335. /package/dist/esm/{hooks/useShapes → core/shapes}/bar-y/types.js +0 -0
  336. /package/dist/esm/{hooks/useShapes → core/shapes}/bar-y/utils.d.ts +0 -0
  337. /package/dist/esm/{hooks/useShapes → core/shapes}/funnel/types.js +0 -0
  338. /package/dist/esm/{hooks/useShapes → core/shapes}/heatmap/types.js +0 -0
  339. /package/dist/esm/{hooks/useShapes → core/shapes}/line/types.js +0 -0
  340. /package/dist/esm/{hooks/useShapes → core/shapes}/pie/types.js +0 -0
  341. /package/dist/esm/{hooks/useShapes → core/shapes}/pie/utils.d.ts +0 -0
  342. /package/dist/esm/{hooks/useShapes → core/shapes}/pie/utils.js +0 -0
  343. /package/dist/esm/{hooks/useShapes → core/shapes}/radar/types.js +0 -0
  344. /package/dist/esm/{hooks/useShapes → core/shapes}/sankey/sankey-layout.d.ts +0 -0
  345. /package/dist/esm/{hooks/useShapes → core/shapes}/sankey/sankey-layout.js +0 -0
  346. /package/dist/esm/{hooks/useShapes → core/shapes}/sankey/types.js +0 -0
  347. /package/dist/esm/{hooks/useShapes → core/shapes}/scatter/types.js +0 -0
  348. /package/dist/esm/{hooks/useShapes → core/shapes}/treemap/types.js +0 -0
  349. /package/dist/esm/{hooks/useShapes → core/shapes}/waterfall/types.js +0 -0
  350. /package/dist/esm/{hooks/useShapes → core/shapes}/x-range/types.js +0 -0
  351. /package/dist/esm/{hooks/utils/get-band-size.d.ts → core/utils/band-size.d.ts} +0 -0
@@ -1,20 +1,14 @@
1
1
  import React from 'react';
2
- import { color } from 'd3-color';
3
- import { select } from 'd3-selection';
4
- import { line as lineGenerator } from 'd3-shape';
5
- import get from 'lodash/get';
6
- import { DASH_STYLE } from '../../../core/constants';
7
- import { filterOverlappingLabels, getLineDashArray, getWaterfallPointColor } from '../../../core/utils';
2
+ import { renderWaterfall } from '../../../core/shapes/waterfall/renderer';
3
+ import { filterOverlappingLabels } from '../../../core/utils';
8
4
  import { block } from '../../../utils';
9
5
  import { HtmlLayer } from '../HtmlLayer';
10
- export { prepareWaterfallData } from './prepare-data';
11
- export * from './types';
6
+ export { prepareWaterfallData } from '../../../core/shapes/waterfall/prepare-data';
7
+ export * from '../../../core/shapes/waterfall/types';
12
8
  const b = block('waterfall');
13
9
  export const WaterfallSeriesShapes = (args) => {
14
10
  const { dispatcher, preparedData, seriesOptions, htmlLayout, clipPathId } = args;
15
- const hoveredDataRef = React.useRef(null);
16
11
  const ref = React.useRef(null);
17
- const connectorSelector = `.${b('connector')}`;
18
12
  const allowOverlapDataLabels = React.useMemo(() => {
19
13
  return preparedData.some((d) => d === null || d === void 0 ? void 0 : d.series.dataLabels.allowOverlap);
20
14
  }, [preparedData]);
@@ -22,115 +16,8 @@ export const WaterfallSeriesShapes = (args) => {
22
16
  if (!ref.current) {
23
17
  return () => { };
24
18
  }
25
- const svgElement = select(ref.current);
26
- const hoverOptions = get(seriesOptions, 'waterfall.states.hover');
27
- const inactiveOptions = get(seriesOptions, 'waterfall.states.inactive');
28
- svgElement.selectAll('*').remove();
29
- const rectSelection = svgElement
30
- .selectAll('allRects')
31
- .data(preparedData)
32
- .join('rect')
33
- .attr('class', b('segment'))
34
- .attr('x', (d) => d.x)
35
- .attr('y', (d) => d.y)
36
- .attr('height', (d) => d.height)
37
- .attr('width', (d) => d.width)
38
- .attr('fill', (d) => getWaterfallPointColor(d.data, d.series))
39
- .attr('opacity', (d) => d.opacity)
40
- .attr('cursor', (d) => d.series.cursor);
41
- let dataLabels = preparedData.map((d) => d.label).filter(Boolean);
42
- if (!allowOverlapDataLabels) {
43
- dataLabels = filterOverlappingLabels(dataLabels);
44
- }
45
- const labelSelection = svgElement
46
- .selectAll('text')
47
- .data(dataLabels)
48
- .join('text')
49
- .html((d) => d.text)
50
- .attr('class', b('label'))
51
- .attr('x', (d) => d.x)
52
- .attr('y', (d) => d.y)
53
- .attr('text-anchor', (d) => d.textAnchor)
54
- .style('font-size', (d) => d.style.fontSize)
55
- .style('font-weight', (d) => d.style.fontWeight || null)
56
- .style('fill', (d) => d.style.fontColor || null);
57
- // Add the connector line between bars
58
- svgElement
59
- .selectAll(connectorSelector)
60
- .data(preparedData)
61
- .join('path')
62
- .attr('class', b('connector'))
63
- .attr('d', (d, index) => {
64
- const line = lineGenerator();
65
- const prev = preparedData[index - 1];
66
- if (!prev) {
67
- return null;
68
- }
69
- const points = [];
70
- if (Number(prev.data.y) > 0) {
71
- points.push([prev.x, prev.y]);
72
- }
73
- else {
74
- points.push([prev.x, prev.y + prev.height]);
75
- }
76
- if (Number(d.data.y) > 0 && !d.data.total) {
77
- points.push([d.x + d.width, d.y + d.height]);
78
- }
79
- else {
80
- points.push([d.x + d.width, d.y]);
81
- }
82
- return line(points);
83
- })
84
- .attr('stroke-width', 1)
85
- .attr('stroke-dasharray', () => getLineDashArray(DASH_STYLE.Dash, 1));
86
- function handleShapeHover(data) {
87
- hoveredDataRef.current = data;
88
- const hoverEnabled = hoverOptions === null || hoverOptions === void 0 ? void 0 : hoverOptions.enabled;
89
- const inactiveEnabled = inactiveOptions === null || inactiveOptions === void 0 ? void 0 : inactiveOptions.enabled;
90
- if (!data) {
91
- if (hoverEnabled) {
92
- rectSelection.attr('fill', (d) => getWaterfallPointColor(d.data, d.series));
93
- }
94
- if (inactiveEnabled) {
95
- rectSelection.attr('opacity', null);
96
- labelSelection.attr('opacity', null);
97
- }
98
- return;
99
- }
100
- if (hoverEnabled) {
101
- const hoveredValues = data.map((d) => d.data.x);
102
- rectSelection.attr('fill', (d) => {
103
- var _a;
104
- const fillColor = getWaterfallPointColor(d.data, d.series);
105
- if (hoveredValues.includes(d.data.x)) {
106
- const brightness = hoverOptions === null || hoverOptions === void 0 ? void 0 : hoverOptions.brightness;
107
- return ((_a = color(fillColor)) === null || _a === void 0 ? void 0 : _a.brighter(brightness).toString()) || fillColor;
108
- }
109
- return fillColor;
110
- });
111
- }
112
- if (inactiveEnabled) {
113
- const hoveredSeries = data.map((d) => d.series.id);
114
- rectSelection.attr('opacity', (d) => {
115
- return hoveredSeries.includes(d.series.id)
116
- ? null
117
- : (inactiveOptions === null || inactiveOptions === void 0 ? void 0 : inactiveOptions.opacity) || null;
118
- });
119
- labelSelection.attr('opacity', (d) => {
120
- return hoveredSeries.includes(d.series.id)
121
- ? null
122
- : (inactiveOptions === null || inactiveOptions === void 0 ? void 0 : inactiveOptions.opacity) || null;
123
- });
124
- }
125
- }
126
- if (hoveredDataRef.current !== null) {
127
- handleShapeHover(hoveredDataRef.current);
128
- }
129
- dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.on('hover-shape.waterfall', handleShapeHover);
130
- return () => {
131
- dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.on('hover-shape.waterfall', null);
132
- };
133
- }, [allowOverlapDataLabels, connectorSelector, dispatcher, preparedData, seriesOptions]);
19
+ return renderWaterfall({ plot: ref.current }, preparedData, seriesOptions, allowOverlapDataLabels, dispatcher);
20
+ }, [allowOverlapDataLabels, dispatcher, preparedData, seriesOptions]);
134
21
  const htmlLayerData = React.useMemo(() => {
135
22
  const items = preparedData.map((d) => d === null || d === void 0 ? void 0 : d.htmlElements).flat();
136
23
  if (allowOverlapDataLabels) {
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { Dispatch } from 'd3-dispatch';
3
- import type { PreparedSeriesOptions } from '../../useSeries/types';
4
- export { prepareXRangeData } from './prepare-data';
5
- export type { PreparedXRangeData } from './types';
6
- import type { PreparedXRangeData } from './types';
3
+ import type { PreparedSeriesOptions } from '../../../core/series/types';
4
+ import type { PreparedXRangeData } from '../../../core/shapes/x-range/types';
5
+ export { prepareXRangeData } from '../../../core/shapes/x-range/prepare-data';
6
+ export type { PreparedXRangeData } from '../../../core/shapes/x-range/types';
7
7
  type Args = {
8
8
  clipPathId: string;
9
9
  htmlLayout: HTMLElement | null;
@@ -1,112 +1,17 @@
1
1
  import React from 'react';
2
- import { color } from 'd3-color';
3
- import { select } from 'd3-selection';
4
- import get from 'lodash/get';
5
- import { getLineDashArray } from '../../../core/utils';
2
+ import { renderXRange } from '../../../core/shapes/x-range/renderer';
6
3
  import { block } from '../../../utils';
7
4
  import { HtmlLayer } from '../HtmlLayer';
8
- import { getRectPath } from '../utils';
9
- export { prepareXRangeData } from './prepare-data';
5
+ export { prepareXRangeData } from '../../../core/shapes/x-range/prepare-data';
10
6
  const b = block('x-range');
11
7
  export function XRangeSeriesShapes(args) {
12
8
  const { dispatcher, preparedData, seriesOptions, htmlLayout, clipPathId } = args;
13
- const hoveredDataRef = React.useRef(null);
14
9
  const ref = React.useRef(null);
15
10
  React.useEffect(() => {
16
- var _a;
17
11
  if (!ref.current) {
18
12
  return () => { };
19
13
  }
20
- const svgElement = select(ref.current);
21
- svgElement.selectAll('*').remove();
22
- const segmentSelection = svgElement
23
- .selectAll(`path.${b('segment')}`)
24
- .data(preparedData)
25
- .join('path')
26
- .attr('d', (d) => {
27
- const borderRadius = Math.min(d.height / 2, d.width / 2, d.series.borderRadius);
28
- return getRectPath({
29
- x: d.x,
30
- y: d.y,
31
- width: d.width,
32
- height: d.height,
33
- borderRadius,
34
- }).toString();
35
- })
36
- .attr('class', b('segment'))
37
- .attr('fill', (d) => d.color)
38
- .attr('opacity', (d) => { var _a; return (_a = d.data.opacity) !== null && _a !== void 0 ? _a : d.series.opacity; })
39
- .attr('cursor', (d) => d.series.cursor);
40
- svgElement
41
- .selectAll(`path.${b('segment-border')}`)
42
- .data(preparedData.filter((d) => d.series.borderWidth > 0))
43
- .join('path')
44
- .attr('d', (d) => {
45
- const borderRadius = Math.min(d.height / 2, d.width / 2, d.series.borderRadius);
46
- return getRectPath({
47
- x: d.x,
48
- y: d.y,
49
- width: d.width,
50
- height: d.height,
51
- borderRadius,
52
- }).toString();
53
- })
54
- .attr('class', b('segment-border'))
55
- .attr('fill', 'none')
56
- .attr('stroke', (d) => d.series.borderColor)
57
- .attr('stroke-width', (d) => d.series.borderWidth)
58
- .attr('stroke-dasharray', (d) => getLineDashArray(d.series.borderDashStyle, d.series.borderWidth))
59
- .attr('opacity', (d) => { var _a; return (_a = d.data.opacity) !== null && _a !== void 0 ? _a : d.series.opacity; })
60
- .attr('pointer-events', 'none');
61
- const svgLabels = preparedData.flatMap((d) => d.svgLabels);
62
- svgElement
63
- .selectAll(`text.${b('label')}`)
64
- .data(svgLabels)
65
- .join('text')
66
- .attr('class', b('label'))
67
- .attr('x', (d) => d.x)
68
- .attr('y', (d) => d.y)
69
- .attr('text-anchor', (d) => d.textAnchor)
70
- .attr('dominant-baseline', 'central')
71
- .attr('pointer-events', 'none')
72
- .style('font-size', (d) => d.style.fontSize)
73
- .style('font-weight', (d) => d.style.fontWeight || null)
74
- .style('fill', (d) => d.style.fontColor || null)
75
- .html((d) => d.text);
76
- const hoverOptions = get(seriesOptions, 'x-range.states.hover');
77
- const inactiveOptions = get(seriesOptions, 'x-range.states.inactive');
78
- function handleShapeHover(data) {
79
- hoveredDataRef.current = data;
80
- if (hoverOptions === null || hoverOptions === void 0 ? void 0 : hoverOptions.enabled) {
81
- const hoveredSet = new Set(data === null || data === void 0 ? void 0 : data.map((d) => d.data));
82
- segmentSelection.attr('fill', (d) => {
83
- var _a;
84
- const fillColor = d.color;
85
- if (hoveredSet.has(d.data)) {
86
- return (((_a = color(fillColor)) === null || _a === void 0 ? void 0 : _a.brighter(hoverOptions.brightness).toString()) ||
87
- fillColor);
88
- }
89
- return fillColor;
90
- });
91
- }
92
- if (inactiveOptions === null || inactiveOptions === void 0 ? void 0 : inactiveOptions.enabled) {
93
- const hoveredSeries = data === null || data === void 0 ? void 0 : data.map((d) => d.series.id);
94
- segmentSelection.attr('opacity', (d) => {
95
- var _a, _b;
96
- if ((hoveredSeries === null || hoveredSeries === void 0 ? void 0 : hoveredSeries.length) && !hoveredSeries.includes(d.series.id)) {
97
- return inactiveOptions.opacity || null;
98
- }
99
- return (_b = (_a = d.data.opacity) !== null && _a !== void 0 ? _a : d.series.opacity) !== null && _b !== void 0 ? _b : null;
100
- });
101
- }
102
- }
103
- if (hoveredDataRef.current !== null) {
104
- handleShapeHover((_a = hoveredDataRef.current) !== null && _a !== void 0 ? _a : undefined);
105
- }
106
- dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.on('hover-shape.x-range', handleShapeHover);
107
- return () => {
108
- dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.on('hover-shape.x-range', null);
109
- };
14
+ return renderXRange({ plot: ref.current }, preparedData, seriesOptions, dispatcher);
110
15
  }, [dispatcher, preparedData, seriesOptions]);
111
16
  const htmlLayerData = React.useMemo(() => ({ htmlElements: preparedData.flatMap((d) => d.htmlLabels) }), [preparedData]);
112
17
  return (React.createElement(React.Fragment, null,
@@ -10,6 +10,13 @@ if (typeof document !== 'undefined') {
10
10
  });
11
11
  }
12
12
  }
13
+ if (typeof ResizeObserver === 'undefined') {
14
+ global.ResizeObserver = class ResizeObserver {
15
+ observe() { }
16
+ unobserve() { }
17
+ disconnect() { }
18
+ };
19
+ }
13
20
  if (typeof HTMLCanvasElement !== 'undefined') {
14
21
  // jsdom does not implement HTMLCanvasElement.prototype.getContext (used for text measurement)
15
22
  HTMLCanvasElement.prototype.getContext = (() => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/charts",
3
- "version": "1.46.0",
3
+ "version": "1.46.1",
4
4
  "description": "A flexible JavaScript library for data visualization and chart rendering using React",
5
5
  "license": "MIT",
6
6
  "main": "dist/cjs/index.js",
@@ -54,7 +54,8 @@
54
54
  "prepublishOnly": "npm run build",
55
55
  "docs:deps": "cd ./docs && npm ci",
56
56
  "docs:dev": "cd ./docs && npm run docs:dev",
57
- "docs:build": "cd ./docs && npm run docs:build",
57
+ "docs:build-examples": "vite build --config docs/examples/vite.config.ts",
58
+ "docs:build": "npm run docs:build-examples && cd ./docs && npm run docs:build",
58
59
  "playwright:install": "playwright install chromium webkit --with-deps",
59
60
  "playwright": "playwright test --config=playwright/playwright.config.ts",
60
61
  "playwright:visual": "playwright test --project=chromium --project=webkit --config=playwright/playwright.config.ts",
@@ -113,6 +114,7 @@
113
114
  "@types/lodash": "^4.17.12",
114
115
  "@types/react": "^18.3.2",
115
116
  "@types/react-dom": "^18.3.0",
117
+ "@vitejs/plugin-react": "^4.7.0",
116
118
  "eslint": "^9.39.4",
117
119
  "eslint-plugin-jsx-a11y": "^6.10.2",
118
120
  "eslint-plugin-storybook": "^10.2.16",
@@ -127,6 +129,7 @@
127
129
  "jest": "^29.7.0",
128
130
  "jest-environment-jsdom": "^29.7.0",
129
131
  "jest-transform-css": "^6.0.1",
132
+ "monaco-editor": "^0.55.1",
130
133
  "nano-staged": "^0.8.0",
131
134
  "npm-run-all": "^4.1.5",
132
135
  "prettier": "^3.8.1",
@@ -1,12 +0,0 @@
1
- import type { PreparedLegend, PreparedSeries } from '../../core/series/types';
2
- import type { ChartData } from '../../types';
3
- export declare const getVisibleSeries: ({ preparedSeries, activeLegendItems, }: {
4
- preparedSeries: PreparedSeries[];
5
- activeLegendItems: string[];
6
- }) => PreparedSeries[];
7
- export declare const getPreparedSeries: ({ seriesData, seriesOptions, colors, preparedLegend, }: {
8
- seriesData: ChartData["series"]["data"];
9
- seriesOptions: ChartData["series"]["options"];
10
- colors: string[];
11
- preparedLegend?: PreparedLegend | null;
12
- }) => Promise<PreparedSeries[]>;
@@ -1,40 +0,0 @@
1
- import { group } from 'd3-array';
2
- import { scaleOrdinal } from 'd3-scale';
3
- import { prepareSeries } from '../../core/series/prepareSeries';
4
- import { getSeriesNames } from '../../core/utils';
5
- export const getVisibleSeries = ({ preparedSeries, activeLegendItems, }) => {
6
- return preparedSeries.map((singleSeries) => {
7
- if (singleSeries.legend.enabled) {
8
- return Object.assign(Object.assign({}, singleSeries), { visible: activeLegendItems.includes(singleSeries.legend.groupId) });
9
- }
10
- return singleSeries;
11
- });
12
- };
13
- export const getPreparedSeries = async ({ seriesData, seriesOptions, colors, preparedLegend, }) => {
14
- const seriesNames = getSeriesNames(seriesData);
15
- const colorScale = scaleOrdinal(seriesNames, colors);
16
- const groupedSeries = group(seriesData, (item, index) => {
17
- if (item.type === 'line') {
18
- return `${item.type}_${index}`;
19
- }
20
- return item.type;
21
- });
22
- const acc = [];
23
- if (!preparedLegend) {
24
- return acc;
25
- }
26
- const list = Array.from(groupedSeries);
27
- for (let i = 0; i < list.length; i++) {
28
- const [_groupId, seriesList] = list[i];
29
- const seriesType = seriesList[0].type;
30
- acc.push(...(await prepareSeries({
31
- type: seriesType,
32
- series: seriesList,
33
- seriesOptions,
34
- legend: preparedLegend,
35
- colorScale,
36
- colors,
37
- })));
38
- }
39
- return acc;
40
- };
@@ -1 +0,0 @@
1
- export * from '../../core/series/types';
@@ -1 +0,0 @@
1
- export * from '../../core/series/types';
@@ -1 +0,0 @@
1
- export * from '../../core/series/utils';
@@ -1 +0,0 @@
1
- export * from '../../core/series/utils';
@@ -1,15 +0,0 @@
1
- import type { BaseType, Selection } from 'd3-selection';
2
- import { SymbolType } from '../../core/constants';
3
- import type { MarkerData as AreaMarkerData } from './area/types';
4
- import type { MarkerData as LineMarkerData } from './line/types';
5
- import type { RadarMarkerData } from './radar/types';
6
- import type { MarkerData as ScatterMarkerData } from './scatter/types';
7
- type MarkerData = LineMarkerData | AreaMarkerData | ScatterMarkerData | RadarMarkerData;
8
- export declare function renderMarker<T extends MarkerData>(selection: Selection<BaseType, T, BaseType, unknown>): Selection<BaseType, T, BaseType, unknown>;
9
- export declare function getMarkerVisibility(d: MarkerData): "" | "hidden";
10
- export declare function getMarkerHaloVisibility(d: MarkerData): "" | "hidden";
11
- export declare function setMarker<T extends BaseType, D extends MarkerData>(selection: Selection<T, D, BaseType | null, unknown>, state: 'normal' | 'hover'): void;
12
- export declare function getMarkerSymbol(type: `${SymbolType}` | undefined, radius: number): string | null;
13
- export declare function selectMarkerHalo<T>(parentSelection: Selection<BaseType, T, null, undefined>): Selection<BaseType, T, null, undefined>;
14
- export declare function selectMarkerSymbol<T>(parentSelection: Selection<BaseType, T, null, undefined>): Selection<BaseType, T, null, undefined>;
15
- export {};
@@ -1 +0,0 @@
1
- export * from './bar-y';
@@ -1 +0,0 @@
1
- export * from './bar-y';
@@ -1,12 +0,0 @@
1
- import type { PreparedLegend, PreparedSeries } from '../../core/series/types';
2
- import type { ChartData } from '../../types';
3
- export declare const getVisibleSeries: ({ preparedSeries, activeLegendItems, }: {
4
- preparedSeries: PreparedSeries[];
5
- activeLegendItems: string[];
6
- }) => PreparedSeries[];
7
- export declare const getPreparedSeries: ({ seriesData, seriesOptions, colors, preparedLegend, }: {
8
- seriesData: ChartData["series"]["data"];
9
- seriesOptions: ChartData["series"]["options"];
10
- colors: string[];
11
- preparedLegend?: PreparedLegend | null;
12
- }) => Promise<PreparedSeries[]>;
@@ -1,40 +0,0 @@
1
- import { group } from 'd3-array';
2
- import { scaleOrdinal } from 'd3-scale';
3
- import { prepareSeries } from '../../core/series/prepareSeries';
4
- import { getSeriesNames } from '../../core/utils';
5
- export const getVisibleSeries = ({ preparedSeries, activeLegendItems, }) => {
6
- return preparedSeries.map((singleSeries) => {
7
- if (singleSeries.legend.enabled) {
8
- return Object.assign(Object.assign({}, singleSeries), { visible: activeLegendItems.includes(singleSeries.legend.groupId) });
9
- }
10
- return singleSeries;
11
- });
12
- };
13
- export const getPreparedSeries = async ({ seriesData, seriesOptions, colors, preparedLegend, }) => {
14
- const seriesNames = getSeriesNames(seriesData);
15
- const colorScale = scaleOrdinal(seriesNames, colors);
16
- const groupedSeries = group(seriesData, (item, index) => {
17
- if (item.type === 'line') {
18
- return `${item.type}_${index}`;
19
- }
20
- return item.type;
21
- });
22
- const acc = [];
23
- if (!preparedLegend) {
24
- return acc;
25
- }
26
- const list = Array.from(groupedSeries);
27
- for (let i = 0; i < list.length; i++) {
28
- const [_groupId, seriesList] = list[i];
29
- const seriesType = seriesList[0].type;
30
- acc.push(...(await prepareSeries({
31
- type: seriesType,
32
- series: seriesList,
33
- seriesOptions,
34
- legend: preparedLegend,
35
- colorScale,
36
- colors,
37
- })));
38
- }
39
- return acc;
40
- };
@@ -1 +0,0 @@
1
- export * from '../../core/series/types';
@@ -1 +0,0 @@
1
- export * from '../../core/series/types';
@@ -1 +0,0 @@
1
- export * from '../../core/series/utils';
@@ -1 +0,0 @@
1
- export * from '../../core/series/utils';
@@ -1,15 +0,0 @@
1
- import type { BaseType, Selection } from 'd3-selection';
2
- import { SymbolType } from '../../core/constants';
3
- import type { MarkerData as AreaMarkerData } from './area/types';
4
- import type { MarkerData as LineMarkerData } from './line/types';
5
- import type { RadarMarkerData } from './radar/types';
6
- import type { MarkerData as ScatterMarkerData } from './scatter/types';
7
- type MarkerData = LineMarkerData | AreaMarkerData | ScatterMarkerData | RadarMarkerData;
8
- export declare function renderMarker<T extends MarkerData>(selection: Selection<BaseType, T, BaseType, unknown>): Selection<BaseType, T, BaseType, unknown>;
9
- export declare function getMarkerVisibility(d: MarkerData): "" | "hidden";
10
- export declare function getMarkerHaloVisibility(d: MarkerData): "" | "hidden";
11
- export declare function setMarker<T extends BaseType, D extends MarkerData>(selection: Selection<T, D, BaseType | null, unknown>, state: 'normal' | 'hover'): void;
12
- export declare function getMarkerSymbol(type: `${SymbolType}` | undefined, radius: number): string | null;
13
- export declare function selectMarkerHalo<T>(parentSelection: Selection<BaseType, T, null, undefined>): Selection<BaseType, T, null, undefined>;
14
- export declare function selectMarkerSymbol<T>(parentSelection: Selection<BaseType, T, null, undefined>): Selection<BaseType, T, null, undefined>;
15
- export {};
@@ -1 +0,0 @@
1
- export * from './bar-y';
@@ -1 +0,0 @@
1
- export * from './bar-y';