@gravity-ui/charts 1.23.0 → 1.24.0

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 (309) hide show
  1. package/dist/cjs/components/AxisX/AxisX.d.ts +3 -3
  2. package/dist/cjs/components/ChartInner/index.js +94 -27
  3. package/dist/cjs/components/ChartInner/useChartInnerHandlers.d.ts +3 -3
  4. package/dist/cjs/components/ChartInner/useChartInnerProps.d.ts +41 -20
  5. package/dist/cjs/components/ChartInner/useChartInnerProps.js +21 -9
  6. package/dist/cjs/components/ChartInner/useChartInnerState.d.ts +6 -1
  7. package/dist/cjs/components/ChartInner/useChartInnerState.js +17 -1
  8. package/dist/cjs/components/ChartInner/utils.d.ts +5 -2
  9. package/dist/cjs/components/ChartInner/utils.js +13 -0
  10. package/dist/cjs/components/RangeSlider/index.d.ts +6 -0
  11. package/dist/cjs/components/RangeSlider/index.js +41 -0
  12. package/dist/cjs/components/RangeSlider/styles.css +6 -0
  13. package/dist/cjs/components/RangeSlider/utils.d.ts +5 -0
  14. package/dist/cjs/components/RangeSlider/utils.js +18 -0
  15. package/dist/cjs/components/Tooltip/DefaultTooltipContent/index.js +2 -1
  16. package/dist/cjs/components/Tooltip/DefaultTooltipContent/utils.js +3 -2
  17. package/dist/cjs/components/Tooltip/index.d.ts +3 -3
  18. package/dist/cjs/constants/chart-types.d.ts +3 -1
  19. package/dist/cjs/constants/chart-types.js +2 -1
  20. package/dist/cjs/constants/defaults/brush.d.ts +2 -0
  21. package/dist/cjs/constants/defaults/brush.js +15 -0
  22. package/dist/cjs/constants/defaults/index.d.ts +1 -0
  23. package/dist/cjs/constants/defaults/index.js +1 -0
  24. package/dist/cjs/constants/defaults/series-options.d.ts +2 -1
  25. package/dist/cjs/constants/defaults/series-options.js +11 -0
  26. package/dist/cjs/hooks/index.d.ts +5 -0
  27. package/dist/cjs/hooks/index.js +5 -0
  28. package/dist/cjs/hooks/useAxis/index.d.ts +4 -3
  29. package/dist/cjs/hooks/useAxis/index.js +2 -2
  30. package/dist/cjs/hooks/useAxis/range-slider.d.ts +5 -0
  31. package/dist/cjs/hooks/useAxis/range-slider.js +16 -0
  32. package/dist/cjs/hooks/useAxis/types.d.ts +66 -0
  33. package/dist/cjs/hooks/useAxis/types.js +1 -0
  34. package/dist/cjs/hooks/{useChartOptions → useAxis}/utils.d.ts +1 -2
  35. package/dist/cjs/hooks/useAxis/utils.js +9 -0
  36. package/dist/{esm/hooks/useChartOptions → cjs/hooks/useAxis}/x-axis.d.ts +2 -2
  37. package/dist/{esm/hooks/useChartOptions → cjs/hooks/useAxis}/x-axis.js +5 -3
  38. package/dist/cjs/hooks/{useChartOptions → useAxis}/y-axis.d.ts +2 -2
  39. package/dist/cjs/hooks/{useChartOptions → useAxis}/y-axis.js +3 -3
  40. package/dist/cjs/hooks/useAxisScales/index.d.ts +3 -3
  41. package/dist/cjs/hooks/useAxisScales/index.js +41 -15
  42. package/dist/cjs/hooks/useBrush/index.js +89 -27
  43. package/dist/cjs/hooks/useBrush/styles.css +1 -0
  44. package/dist/cjs/hooks/useBrush/types.d.ts +6 -6
  45. package/dist/cjs/hooks/useBrush/utils.d.ts +19 -0
  46. package/dist/cjs/hooks/useBrush/utils.js +172 -0
  47. package/dist/cjs/hooks/useChartDimensions/index.d.ts +4 -4
  48. package/dist/cjs/hooks/useChartDimensions/index.js +14 -4
  49. package/dist/cjs/hooks/useChartDimensions/utils.d.ts +4 -4
  50. package/dist/cjs/hooks/useChartOptions/index.d.ts +9 -3
  51. package/dist/cjs/hooks/useChartOptions/tooltip.js +1 -1
  52. package/dist/cjs/hooks/useChartOptions/types.d.ts +4 -64
  53. package/dist/cjs/hooks/useChartOptions/zoom.js +24 -21
  54. package/dist/cjs/hooks/useCrosshair/index.d.ts +3 -3
  55. package/dist/cjs/hooks/useNormalizedOriginalData/index.d.ts +1 -0
  56. package/dist/cjs/hooks/useNormalizedOriginalData/index.js +1 -2
  57. package/dist/cjs/hooks/useRangeSlider/index.d.ts +4 -0
  58. package/dist/cjs/hooks/useRangeSlider/index.js +129 -0
  59. package/dist/cjs/hooks/useRangeSlider/types.d.ts +42 -0
  60. package/dist/cjs/hooks/useRangeSlider/types.js +1 -0
  61. package/dist/cjs/hooks/useRangeSlider/utils.d.ts +16 -0
  62. package/dist/cjs/hooks/useRangeSlider/utils.js +19 -0
  63. package/dist/cjs/hooks/useSeries/prepare-area.js +2 -1
  64. package/dist/cjs/hooks/useSeries/prepare-bar-x.js +8 -8
  65. package/dist/cjs/hooks/useSeries/prepare-bar-y.d.ts +1 -0
  66. package/dist/cjs/hooks/useSeries/prepare-bar-y.js +7 -6
  67. package/dist/cjs/hooks/useSeries/prepare-funnel.d.ts +10 -0
  68. package/dist/cjs/hooks/useSeries/prepare-funnel.js +50 -0
  69. package/dist/cjs/hooks/useSeries/prepare-legend.js +4 -1
  70. package/dist/cjs/hooks/useSeries/prepare-line.js +2 -1
  71. package/dist/cjs/hooks/useSeries/prepare-pie.js +3 -2
  72. package/dist/cjs/hooks/useSeries/prepare-scatter.js +2 -0
  73. package/dist/cjs/hooks/useSeries/prepareSeries.js +9 -0
  74. package/dist/cjs/hooks/useSeries/types.d.ts +22 -6
  75. package/dist/cjs/hooks/useShapes/area/index.d.ts +3 -3
  76. package/dist/cjs/hooks/useShapes/area/index.js +2 -2
  77. package/dist/cjs/hooks/useShapes/area/prepare-data.d.ts +3 -3
  78. package/dist/cjs/hooks/useShapes/bar-x/index.d.ts +3 -3
  79. package/dist/cjs/hooks/useShapes/bar-x/index.js +2 -2
  80. package/dist/cjs/hooks/useShapes/bar-x/prepare-data.d.ts +3 -3
  81. package/dist/cjs/hooks/useShapes/bar-x/prepare-data.js +18 -13
  82. package/dist/cjs/hooks/useShapes/bar-y/index.d.ts +3 -3
  83. package/dist/cjs/hooks/useShapes/bar-y/index.js +2 -2
  84. package/dist/cjs/hooks/useShapes/bar-y/prepare-data.d.ts +3 -3
  85. package/dist/cjs/hooks/useShapes/bar-y/prepare-data.js +2 -3
  86. package/dist/cjs/hooks/useShapes/funnel/index.d.ts +13 -0
  87. package/dist/cjs/hooks/useShapes/funnel/index.js +95 -0
  88. package/dist/cjs/hooks/useShapes/funnel/prepare-data.d.ts +9 -0
  89. package/dist/cjs/hooks/useShapes/funnel/prepare-data.js +120 -0
  90. package/dist/cjs/hooks/useShapes/funnel/types.d.ts +32 -0
  91. package/dist/cjs/hooks/useShapes/funnel/types.js +1 -0
  92. package/dist/cjs/hooks/useShapes/heatmap/index.d.ts +2 -2
  93. package/dist/cjs/hooks/useShapes/heatmap/index.js +2 -2
  94. package/dist/cjs/hooks/useShapes/heatmap/prepare-data.d.ts +3 -3
  95. package/dist/cjs/hooks/useShapes/index.d.ts +15 -10
  96. package/dist/cjs/hooks/useShapes/index.js +47 -25
  97. package/dist/cjs/hooks/useShapes/line/index.d.ts +3 -3
  98. package/dist/cjs/hooks/useShapes/line/index.js +2 -2
  99. package/dist/cjs/hooks/useShapes/line/prepare-data.d.ts +3 -3
  100. package/dist/cjs/hooks/useShapes/line/prepare-data.js +23 -34
  101. package/dist/cjs/hooks/useShapes/pie/index.d.ts +2 -2
  102. package/dist/cjs/hooks/useShapes/pie/index.js +2 -2
  103. package/dist/cjs/hooks/useShapes/radar/index.d.ts +2 -2
  104. package/dist/cjs/hooks/useShapes/radar/index.js +2 -2
  105. package/dist/cjs/hooks/useShapes/sankey/index.d.ts +2 -2
  106. package/dist/cjs/hooks/useShapes/sankey/index.js +2 -2
  107. package/dist/cjs/hooks/useShapes/scatter/index.d.ts +3 -2
  108. package/dist/cjs/hooks/useShapes/scatter/index.js +4 -4
  109. package/dist/cjs/hooks/useShapes/scatter/prepare-data.d.ts +3 -3
  110. package/dist/cjs/hooks/useShapes/styles.css +8 -0
  111. package/dist/cjs/hooks/useShapes/treemap/index.d.ts +2 -2
  112. package/dist/cjs/hooks/useShapes/treemap/index.js +2 -2
  113. package/dist/cjs/hooks/useShapes/utils.d.ts +3 -3
  114. package/dist/cjs/hooks/useShapes/waterfall/index.d.ts +3 -3
  115. package/dist/cjs/hooks/useShapes/waterfall/index.js +2 -2
  116. package/dist/cjs/hooks/useShapes/waterfall/prepare-data.d.ts +3 -3
  117. package/dist/cjs/hooks/useZoom/index.d.ts +4 -3
  118. package/dist/cjs/hooks/useZoom/utils.d.ts +3 -3
  119. package/dist/cjs/hooks/utils/bar-x.d.ts +2 -2
  120. package/dist/cjs/hooks/utils/bar-y.d.ts +2 -2
  121. package/dist/cjs/types/chart/area.d.ts +7 -2
  122. package/dist/cjs/types/chart/axis.d.ts +45 -0
  123. package/dist/cjs/types/chart/bar-x.d.ts +7 -3
  124. package/dist/cjs/types/chart/bar-y.d.ts +2 -2
  125. package/dist/cjs/types/chart/base.d.ts +26 -25
  126. package/dist/cjs/types/chart/brush.d.ts +22 -0
  127. package/dist/cjs/types/chart/brush.js +1 -0
  128. package/dist/cjs/types/chart/funnel.d.ts +46 -0
  129. package/dist/cjs/types/chart/funnel.js +1 -0
  130. package/dist/cjs/types/chart/heatmap.d.ts +2 -2
  131. package/dist/cjs/types/chart/legend.d.ts +6 -0
  132. package/dist/cjs/types/chart/line.d.ts +7 -2
  133. package/dist/cjs/types/chart/pie.d.ts +2 -2
  134. package/dist/cjs/types/chart/radar.d.ts +2 -2
  135. package/dist/cjs/types/chart/sankey.d.ts +2 -2
  136. package/dist/cjs/types/chart/scatter.d.ts +7 -2
  137. package/dist/cjs/types/chart/series.d.ts +17 -2
  138. package/dist/cjs/types/chart/tooltip.d.ts +10 -2
  139. package/dist/cjs/types/chart/treemap.d.ts +2 -2
  140. package/dist/cjs/types/chart/waterfall.d.ts +2 -2
  141. package/dist/cjs/types/chart/zoom.d.ts +2 -5
  142. package/dist/cjs/types/index.d.ts +2 -0
  143. package/dist/cjs/types/index.js +2 -0
  144. package/dist/cjs/types/misc.d.ts +6 -0
  145. package/dist/cjs/utils/chart/axis.d.ts +5 -2
  146. package/dist/cjs/utils/chart/axis.js +47 -1
  147. package/dist/cjs/utils/chart/color.js +2 -1
  148. package/dist/cjs/utils/chart/get-closest-data.js +18 -1
  149. package/dist/cjs/utils/chart/index.js +3 -3
  150. package/dist/cjs/utils/chart/series/sorting.js +3 -3
  151. package/dist/cjs/utils/chart/zoom.d.ts +3 -3
  152. package/dist/cjs/utils/chart/zoom.js +2 -2
  153. package/dist/cjs/validation/index.js +3 -3
  154. package/dist/esm/components/AxisX/AxisX.d.ts +3 -3
  155. package/dist/esm/components/ChartInner/index.js +94 -27
  156. package/dist/esm/components/ChartInner/useChartInnerHandlers.d.ts +3 -3
  157. package/dist/esm/components/ChartInner/useChartInnerProps.d.ts +41 -20
  158. package/dist/esm/components/ChartInner/useChartInnerProps.js +21 -9
  159. package/dist/esm/components/ChartInner/useChartInnerState.d.ts +6 -1
  160. package/dist/esm/components/ChartInner/useChartInnerState.js +17 -1
  161. package/dist/esm/components/ChartInner/utils.d.ts +5 -2
  162. package/dist/esm/components/ChartInner/utils.js +13 -0
  163. package/dist/esm/components/RangeSlider/index.d.ts +6 -0
  164. package/dist/esm/components/RangeSlider/index.js +41 -0
  165. package/dist/esm/components/RangeSlider/styles.css +6 -0
  166. package/dist/esm/components/RangeSlider/utils.d.ts +5 -0
  167. package/dist/esm/components/RangeSlider/utils.js +18 -0
  168. package/dist/esm/components/Tooltip/DefaultTooltipContent/index.js +2 -1
  169. package/dist/esm/components/Tooltip/DefaultTooltipContent/utils.js +3 -2
  170. package/dist/esm/components/Tooltip/index.d.ts +3 -3
  171. package/dist/esm/constants/chart-types.d.ts +3 -1
  172. package/dist/esm/constants/chart-types.js +2 -1
  173. package/dist/esm/constants/defaults/brush.d.ts +2 -0
  174. package/dist/esm/constants/defaults/brush.js +15 -0
  175. package/dist/esm/constants/defaults/index.d.ts +1 -0
  176. package/dist/esm/constants/defaults/index.js +1 -0
  177. package/dist/esm/constants/defaults/series-options.d.ts +2 -1
  178. package/dist/esm/constants/defaults/series-options.js +11 -0
  179. package/dist/esm/hooks/index.d.ts +5 -0
  180. package/dist/esm/hooks/index.js +5 -0
  181. package/dist/esm/hooks/useAxis/index.d.ts +4 -3
  182. package/dist/esm/hooks/useAxis/index.js +2 -2
  183. package/dist/esm/hooks/useAxis/range-slider.d.ts +5 -0
  184. package/dist/esm/hooks/useAxis/range-slider.js +16 -0
  185. package/dist/esm/hooks/useAxis/types.d.ts +66 -0
  186. package/dist/esm/hooks/useAxis/types.js +1 -0
  187. package/dist/esm/hooks/{useChartOptions → useAxis}/utils.d.ts +1 -2
  188. package/dist/esm/hooks/useAxis/utils.js +9 -0
  189. package/dist/{cjs/hooks/useChartOptions → esm/hooks/useAxis}/x-axis.d.ts +2 -2
  190. package/dist/{cjs/hooks/useChartOptions → esm/hooks/useAxis}/x-axis.js +5 -3
  191. package/dist/esm/hooks/{useChartOptions → useAxis}/y-axis.d.ts +2 -2
  192. package/dist/esm/hooks/{useChartOptions → useAxis}/y-axis.js +3 -3
  193. package/dist/esm/hooks/useAxisScales/index.d.ts +3 -3
  194. package/dist/esm/hooks/useAxisScales/index.js +41 -15
  195. package/dist/esm/hooks/useBrush/index.js +89 -27
  196. package/dist/esm/hooks/useBrush/styles.css +1 -0
  197. package/dist/esm/hooks/useBrush/types.d.ts +6 -6
  198. package/dist/esm/hooks/useBrush/utils.d.ts +19 -0
  199. package/dist/esm/hooks/useBrush/utils.js +172 -0
  200. package/dist/esm/hooks/useChartDimensions/index.d.ts +4 -4
  201. package/dist/esm/hooks/useChartDimensions/index.js +14 -4
  202. package/dist/esm/hooks/useChartDimensions/utils.d.ts +4 -4
  203. package/dist/esm/hooks/useChartOptions/index.d.ts +9 -3
  204. package/dist/esm/hooks/useChartOptions/tooltip.js +1 -1
  205. package/dist/esm/hooks/useChartOptions/types.d.ts +4 -64
  206. package/dist/esm/hooks/useChartOptions/zoom.js +24 -21
  207. package/dist/esm/hooks/useCrosshair/index.d.ts +3 -3
  208. package/dist/esm/hooks/useNormalizedOriginalData/index.d.ts +1 -0
  209. package/dist/esm/hooks/useNormalizedOriginalData/index.js +1 -2
  210. package/dist/esm/hooks/useRangeSlider/index.d.ts +4 -0
  211. package/dist/esm/hooks/useRangeSlider/index.js +129 -0
  212. package/dist/esm/hooks/useRangeSlider/types.d.ts +42 -0
  213. package/dist/esm/hooks/useRangeSlider/types.js +1 -0
  214. package/dist/esm/hooks/useRangeSlider/utils.d.ts +16 -0
  215. package/dist/esm/hooks/useRangeSlider/utils.js +19 -0
  216. package/dist/esm/hooks/useSeries/prepare-area.js +2 -1
  217. package/dist/esm/hooks/useSeries/prepare-bar-x.js +8 -8
  218. package/dist/esm/hooks/useSeries/prepare-bar-y.d.ts +1 -0
  219. package/dist/esm/hooks/useSeries/prepare-bar-y.js +7 -6
  220. package/dist/esm/hooks/useSeries/prepare-funnel.d.ts +10 -0
  221. package/dist/esm/hooks/useSeries/prepare-funnel.js +50 -0
  222. package/dist/esm/hooks/useSeries/prepare-legend.js +4 -1
  223. package/dist/esm/hooks/useSeries/prepare-line.js +2 -1
  224. package/dist/esm/hooks/useSeries/prepare-pie.js +3 -2
  225. package/dist/esm/hooks/useSeries/prepare-scatter.js +2 -0
  226. package/dist/esm/hooks/useSeries/prepareSeries.js +9 -0
  227. package/dist/esm/hooks/useSeries/types.d.ts +22 -6
  228. package/dist/esm/hooks/useShapes/area/index.d.ts +3 -3
  229. package/dist/esm/hooks/useShapes/area/index.js +2 -2
  230. package/dist/esm/hooks/useShapes/area/prepare-data.d.ts +3 -3
  231. package/dist/esm/hooks/useShapes/bar-x/index.d.ts +3 -3
  232. package/dist/esm/hooks/useShapes/bar-x/index.js +2 -2
  233. package/dist/esm/hooks/useShapes/bar-x/prepare-data.d.ts +3 -3
  234. package/dist/esm/hooks/useShapes/bar-x/prepare-data.js +18 -13
  235. package/dist/esm/hooks/useShapes/bar-y/index.d.ts +3 -3
  236. package/dist/esm/hooks/useShapes/bar-y/index.js +2 -2
  237. package/dist/esm/hooks/useShapes/bar-y/prepare-data.d.ts +3 -3
  238. package/dist/esm/hooks/useShapes/bar-y/prepare-data.js +2 -3
  239. package/dist/esm/hooks/useShapes/funnel/index.d.ts +13 -0
  240. package/dist/esm/hooks/useShapes/funnel/index.js +95 -0
  241. package/dist/esm/hooks/useShapes/funnel/prepare-data.d.ts +9 -0
  242. package/dist/esm/hooks/useShapes/funnel/prepare-data.js +120 -0
  243. package/dist/esm/hooks/useShapes/funnel/types.d.ts +32 -0
  244. package/dist/esm/hooks/useShapes/funnel/types.js +1 -0
  245. package/dist/esm/hooks/useShapes/heatmap/index.d.ts +2 -2
  246. package/dist/esm/hooks/useShapes/heatmap/index.js +2 -2
  247. package/dist/esm/hooks/useShapes/heatmap/prepare-data.d.ts +3 -3
  248. package/dist/esm/hooks/useShapes/index.d.ts +15 -10
  249. package/dist/esm/hooks/useShapes/index.js +47 -25
  250. package/dist/esm/hooks/useShapes/line/index.d.ts +3 -3
  251. package/dist/esm/hooks/useShapes/line/index.js +2 -2
  252. package/dist/esm/hooks/useShapes/line/prepare-data.d.ts +3 -3
  253. package/dist/esm/hooks/useShapes/line/prepare-data.js +23 -34
  254. package/dist/esm/hooks/useShapes/pie/index.d.ts +2 -2
  255. package/dist/esm/hooks/useShapes/pie/index.js +2 -2
  256. package/dist/esm/hooks/useShapes/radar/index.d.ts +2 -2
  257. package/dist/esm/hooks/useShapes/radar/index.js +2 -2
  258. package/dist/esm/hooks/useShapes/sankey/index.d.ts +2 -2
  259. package/dist/esm/hooks/useShapes/sankey/index.js +2 -2
  260. package/dist/esm/hooks/useShapes/scatter/index.d.ts +3 -2
  261. package/dist/esm/hooks/useShapes/scatter/index.js +4 -4
  262. package/dist/esm/hooks/useShapes/scatter/prepare-data.d.ts +3 -3
  263. package/dist/esm/hooks/useShapes/styles.css +8 -0
  264. package/dist/esm/hooks/useShapes/treemap/index.d.ts +2 -2
  265. package/dist/esm/hooks/useShapes/treemap/index.js +2 -2
  266. package/dist/esm/hooks/useShapes/utils.d.ts +3 -3
  267. package/dist/esm/hooks/useShapes/waterfall/index.d.ts +3 -3
  268. package/dist/esm/hooks/useShapes/waterfall/index.js +2 -2
  269. package/dist/esm/hooks/useShapes/waterfall/prepare-data.d.ts +3 -3
  270. package/dist/esm/hooks/useZoom/index.d.ts +4 -3
  271. package/dist/esm/hooks/useZoom/utils.d.ts +3 -3
  272. package/dist/esm/hooks/utils/bar-x.d.ts +2 -2
  273. package/dist/esm/hooks/utils/bar-y.d.ts +2 -2
  274. package/dist/esm/types/chart/area.d.ts +7 -2
  275. package/dist/esm/types/chart/axis.d.ts +45 -0
  276. package/dist/esm/types/chart/bar-x.d.ts +7 -3
  277. package/dist/esm/types/chart/bar-y.d.ts +2 -2
  278. package/dist/esm/types/chart/base.d.ts +26 -25
  279. package/dist/esm/types/chart/brush.d.ts +22 -0
  280. package/dist/esm/types/chart/brush.js +1 -0
  281. package/dist/esm/types/chart/funnel.d.ts +46 -0
  282. package/dist/esm/types/chart/funnel.js +1 -0
  283. package/dist/esm/types/chart/heatmap.d.ts +2 -2
  284. package/dist/esm/types/chart/legend.d.ts +6 -0
  285. package/dist/esm/types/chart/line.d.ts +7 -2
  286. package/dist/esm/types/chart/pie.d.ts +2 -2
  287. package/dist/esm/types/chart/radar.d.ts +2 -2
  288. package/dist/esm/types/chart/sankey.d.ts +2 -2
  289. package/dist/esm/types/chart/scatter.d.ts +7 -2
  290. package/dist/esm/types/chart/series.d.ts +17 -2
  291. package/dist/esm/types/chart/tooltip.d.ts +10 -2
  292. package/dist/esm/types/chart/treemap.d.ts +2 -2
  293. package/dist/esm/types/chart/waterfall.d.ts +2 -2
  294. package/dist/esm/types/chart/zoom.d.ts +2 -5
  295. package/dist/esm/types/index.d.ts +2 -0
  296. package/dist/esm/types/index.js +2 -0
  297. package/dist/esm/types/misc.d.ts +6 -0
  298. package/dist/esm/utils/chart/axis.d.ts +5 -2
  299. package/dist/esm/utils/chart/axis.js +47 -1
  300. package/dist/esm/utils/chart/color.js +2 -1
  301. package/dist/esm/utils/chart/get-closest-data.js +18 -1
  302. package/dist/esm/utils/chart/index.js +3 -3
  303. package/dist/esm/utils/chart/series/sorting.js +3 -3
  304. package/dist/esm/utils/chart/zoom.d.ts +3 -3
  305. package/dist/esm/utils/chart/zoom.js +2 -2
  306. package/dist/esm/validation/index.js +3 -3
  307. package/package.json +1 -1
  308. package/dist/cjs/hooks/useChartOptions/utils.js +0 -49
  309. package/dist/esm/hooks/useChartOptions/utils.js +0 -49
@@ -121,9 +121,9 @@ export const WaterfallSeriesShapes = (args) => {
121
121
  if (hoveredDataRef.current !== null) {
122
122
  handleShapeHover(hoveredDataRef.current);
123
123
  }
124
- dispatcher.on('hover-shape.waterfall', handleShapeHover);
124
+ dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.on('hover-shape.waterfall', handleShapeHover);
125
125
  return () => {
126
- dispatcher.on('hover-shape.waterfall', null);
126
+ dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.on('hover-shape.waterfall', null);
127
127
  };
128
128
  }, [connectorSelector, dispatcher, preparedData, seriesOptions]);
129
129
  return (React.createElement(React.Fragment, null,
@@ -1,12 +1,12 @@
1
+ import type { PreparedXAxis, PreparedYAxis } from '../../useAxis/types';
1
2
  import type { ChartScale } from '../../useAxisScales';
2
- import type { PreparedAxis } from '../../useChartOptions/types';
3
3
  import type { PreparedSeriesOptions, PreparedWaterfallSeries } from '../../useSeries/types';
4
4
  import type { PreparedWaterfallData } from './types';
5
5
  export declare const prepareWaterfallData: (args: {
6
6
  series: PreparedWaterfallSeries[];
7
7
  seriesOptions: PreparedSeriesOptions;
8
- xAxis: PreparedAxis;
8
+ xAxis: PreparedXAxis;
9
9
  xScale: ChartScale;
10
- yAxis: PreparedAxis[];
10
+ yAxis: PreparedYAxis[];
11
11
  yScale: (ChartScale | undefined)[];
12
12
  }) => Promise<PreparedWaterfallData[]>;
@@ -1,5 +1,6 @@
1
+ import type { PreparedXAxis, PreparedYAxis } from '../useAxis/types';
1
2
  import type { ChartScale } from '../useAxisScales';
2
- import type { PreparedAxis, PreparedZoom } from '../useChartOptions/types';
3
+ import type { PreparedZoom } from '../useChartOptions/types';
3
4
  import type { PreparedSplit } from '../useSplit/types';
4
5
  import type { ZoomState } from './types';
5
6
  interface UseZoomProps {
@@ -9,9 +10,9 @@ interface UseZoomProps {
9
10
  plotContainerWidth: number;
10
11
  preparedSplit: PreparedSplit;
11
12
  preparedZoom: PreparedZoom | null;
12
- xAxis: PreparedAxis | null;
13
+ xAxis: PreparedXAxis | null;
13
14
  xScale?: ChartScale;
14
- yAxis: PreparedAxis[];
15
+ yAxis: PreparedYAxis[];
15
16
  yScale?: (ChartScale | undefined)[];
16
17
  }
17
18
  export declare function useZoom(props: UseZoomProps): void;
@@ -1,13 +1,13 @@
1
1
  import type { BrushSelection } from 'd3';
2
2
  import type { ZoomType } from '../../constants';
3
+ import type { PreparedXAxis, PreparedYAxis } from '../useAxis/types';
3
4
  import type { ChartScale } from '../useAxisScales';
4
- import type { PreparedAxis } from '../useChartOptions/types';
5
5
  import type { ZoomState } from './types';
6
6
  export declare function selectionToZoomBounds(args: {
7
7
  selection: BrushSelection;
8
- xAxis: PreparedAxis;
8
+ xAxis: PreparedXAxis;
9
9
  xScale: ChartScale;
10
- yAxes: PreparedAxis[];
10
+ yAxes: PreparedYAxis[];
11
11
  yScales: (ChartScale | undefined)[];
12
12
  zoomType: ZoomType;
13
13
  }): Partial<ZoomState>;
@@ -1,7 +1,7 @@
1
1
  import type { BarXSeries, BarXSeriesData } from '../../types';
2
- import type { PreparedAxis } from '../useChartOptions/types';
2
+ import type { PreparedXAxis } from '../useAxis/types';
3
3
  import type { PreparedBarXSeries, PreparedSeriesOptions } from '../useSeries/types';
4
- export declare function groupBarXDataByXValue<T extends BarXSeries | PreparedBarXSeries>(series: T[], xAxis: PreparedAxis): Record<string | number, Record<string, {
4
+ export declare function groupBarXDataByXValue<T extends BarXSeries | PreparedBarXSeries>(series: T[], xAxis: PreparedXAxis): Record<string | number, Record<string, {
5
5
  data: BarXSeriesData;
6
6
  series: T;
7
7
  }[]>>;
@@ -1,6 +1,6 @@
1
1
  import type { BarYSeries, BarYSeriesData } from '../../types';
2
+ import type { PreparedYAxis } from '../useAxis/types';
2
3
  import type { ChartScale } from '../useAxisScales';
3
- import type { PreparedAxis } from '../useChartOptions/types';
4
4
  import type { PreparedBarYSeries, PreparedSeriesOptions } from '../useSeries/types';
5
5
  /**
6
6
  * BarY always filters out data with null or replace null by zero.
@@ -8,7 +8,7 @@ import type { PreparedBarYSeries, PreparedSeriesOptions } from '../useSeries/typ
8
8
  type PreparedBarYSeriesData = BarYSeriesData & {
9
9
  x?: number | string;
10
10
  };
11
- export declare function groupBarYDataByYValue<T extends BarYSeries | PreparedBarYSeries>(series: T[], yAxis: PreparedAxis[]): Record<string | number, Record<string, {
11
+ export declare function groupBarYDataByYValue<T extends BarYSeries | PreparedBarYSeries>(series: T[], yAxis: PreparedYAxis[]): Record<string | number, Record<string, {
12
12
  data: PreparedBarYSeriesData;
13
13
  series: T;
14
14
  }[]>>;
@@ -1,8 +1,9 @@
1
- import type { SeriesType } from '../../constants';
1
+ import type { SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
5
5
  import type { PointMarkerOptions } from './marker';
6
+ import type { ChartSeriesRangeSliderOptions } from './series';
6
7
  export interface AreaSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
7
8
  /**
8
9
  * The `x` value of the point. Depending on the context , it may represents:
@@ -41,7 +42,7 @@ export interface AreaMarkerOptions extends PointMarkerOptions {
41
42
  symbol?: AreaMarkerSymbol;
42
43
  }
43
44
  export interface AreaSeries<T = MeaningfulAny> extends BaseSeries {
44
- type: typeof SeriesType.Area;
45
+ type: typeof SERIES_TYPE.Area;
45
46
  data: AreaSeriesData<T>[];
46
47
  /** The name of the series (used in legend, tooltip etc) */
47
48
  name: string;
@@ -83,4 +84,8 @@ export interface AreaSeries<T = MeaningfulAny> extends BaseSeries {
83
84
  * @default 'skip'
84
85
  */
85
86
  nullMode?: 'connect' | 'zero' | 'skip';
87
+ /**
88
+ * Options to configure how this series appears and behaves in the Range Slider component.
89
+ */
90
+ rangeSlider?: ChartSeriesRangeSliderOptions;
86
91
  }
@@ -1,6 +1,8 @@
1
+ import type { DurationInput } from '@gravity-ui/date-utils';
1
2
  import type { AXIS_TYPE, DashStyle } from '../../constants';
2
3
  import type { FormatNumberOptions } from '../formatter';
3
4
  import type { BaseTextStyle } from './base';
5
+ import type { ChartBrush } from './brush';
4
6
  export type ChartAxisType = (typeof AXIS_TYPE)[keyof typeof AXIS_TYPE];
5
7
  export type ChartAxisTitleAlignment = 'left' | 'center' | 'right';
6
8
  export interface ChartAxisLabels {
@@ -40,6 +42,40 @@ export interface ChartAxisLabels {
40
42
  * */
41
43
  maxWidth?: number | string;
42
44
  }
45
+ export interface ChartAxisRangeSlider {
46
+ /**
47
+ * Range slider brush configuration.
48
+ */
49
+ brush?: ChartBrush;
50
+ /**
51
+ * Configuration for the range slider state after the initial chart render.
52
+ */
53
+ defaultRange?: {
54
+ /**
55
+ * Default size of the range slider.
56
+ *
57
+ * The value type depends on the axis scale:
58
+ * - For `datetime` axes: {@link https://github.com/gravity-ui/date-utils/blob/8d53ff16a4582831140e75f1305dc6a0112a5ad6/src/typings/duration.ts#L7 DurationInput}
59
+ * - For `linear` and `logarithmic` axes: numeric value
60
+ */
61
+ size?: DurationInput | number;
62
+ };
63
+ /**
64
+ * Enable or disable the display of range slider
65
+ * @default false
66
+ */
67
+ enabled?: boolean;
68
+ /**
69
+ * The height of the range slider in pixels.
70
+ * @default 40
71
+ */
72
+ height?: number;
73
+ /**
74
+ * The pixel distance between the range slider and the the X axis or X axis labels.
75
+ * @default 10
76
+ */
77
+ margin?: number;
78
+ }
43
79
  export interface ChartAxis {
44
80
  categories?: string[];
45
81
  /** Configure a crosshair that follows either the mouse pointer or the hovered point. */
@@ -124,6 +160,15 @@ export interface ChartAxis {
124
160
  order?: 'sortAsc' | 'sortDesc' | 'reverse';
125
161
  }
126
162
  export interface ChartXAxis extends ChartAxis {
163
+ /**
164
+ * Configuration options for the chart range slider component.
165
+ *
166
+ * The range slider allows users to select a specific range of data to display
167
+ * on the chart by adjusting the slider handles.
168
+ *
169
+ * Supported only for `linear`, `datetime`, and `logarithmic` axes.
170
+ */
171
+ rangeSlider?: ChartAxisRangeSlider;
127
172
  }
128
173
  export type PlotLayerPlacement = 'before' | 'after';
129
174
  export interface AxisPlot {
@@ -1,8 +1,8 @@
1
- import type { SeriesType } from '../../constants';
1
+ import type { SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
5
- import type { ChartSeriesOptions } from './series';
5
+ import type { ChartSeriesOptions, ChartSeriesRangeSliderOptions } from './series';
6
6
  export interface BarXSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
7
7
  /**
8
8
  * The `x` value of the bar. Depending on the context , it may represents:
@@ -30,7 +30,7 @@ export interface BarXSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
30
30
  opacity?: number;
31
31
  }
32
32
  export interface BarXSeries<T = MeaningfulAny> extends BaseSeries {
33
- type: typeof SeriesType.BarX;
33
+ type: typeof SERIES_TYPE.BarX;
34
34
  data: BarXSeriesData<T>[];
35
35
  /** The name of the series (used in legend, tooltip etc) */
36
36
  name: string;
@@ -78,4 +78,8 @@ export interface BarXSeries<T = MeaningfulAny> extends BaseSeries {
78
78
  * @default 'skip'
79
79
  */
80
80
  nullMode?: 'zero' | 'skip';
81
+ /**
82
+ * Options to configure how this series appears and behaves in the Range Slider component.
83
+ */
84
+ rangeSlider?: ChartSeriesRangeSliderOptions;
81
85
  }
@@ -1,4 +1,4 @@
1
- import type { SeriesType } from '../../constants';
1
+ import type { SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
@@ -23,7 +23,7 @@ export interface BarYSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
23
23
  opacity?: number;
24
24
  }
25
25
  export interface BarYSeries<T = MeaningfulAny> extends BaseSeries {
26
- type: typeof SeriesType.BarY;
26
+ type: typeof SERIES_TYPE.BarY;
27
27
  data: BarYSeriesData<T>[];
28
28
  /** The name of the series (used in legend, tooltip etc) */
29
29
  name: string;
@@ -15,37 +15,38 @@ export type CustomFormat = {
15
15
  }) => string;
16
16
  };
17
17
  export type ValueFormat = NumberFormat | DateFormat;
18
+ export interface BaseDataLabels {
19
+ /**
20
+ * Enable or disable the data labels
21
+ * @default true
22
+ */
23
+ enabled?: boolean;
24
+ style?: Partial<BaseTextStyle>;
25
+ /**
26
+ * @default 5
27
+ * */
28
+ padding?: number;
29
+ /**
30
+ * @default false
31
+ * */
32
+ allowOverlap?: boolean;
33
+ /**
34
+ * Allows to use any html-tags to display the content.
35
+ * The element will be displayed outside the box of the SVG element.
36
+ *
37
+ * @default false
38
+ * */
39
+ html?: boolean;
40
+ /** Formatting settings for labels. */
41
+ format?: ValueFormat;
42
+ }
18
43
  export interface BaseSeries {
19
44
  /** Initial visibility of the series */
20
45
  visible?: boolean;
21
46
  /**
22
47
  * Options for the series data labels, appearing next to each data point.
23
48
  * */
24
- dataLabels?: {
25
- /**
26
- * Enable or disable the data labels
27
- * @default true
28
- */
29
- enabled?: boolean;
30
- style?: Partial<BaseTextStyle>;
31
- /**
32
- * @default 5
33
- * */
34
- padding?: number;
35
- /**
36
- * @default false
37
- * */
38
- allowOverlap?: boolean;
39
- /**
40
- * Allows to use any html-tags to display the content.
41
- * The element will be displayed outside the box of the SVG element.
42
- *
43
- * @default false
44
- * */
45
- html?: boolean;
46
- /** Formatting settings for labels. */
47
- format?: ValueFormat;
48
- };
49
+ dataLabels?: BaseDataLabels;
49
50
  /** You can set the cursor to "pointer" if you have click events attached to the series, to signal to the user that the points and lines can be clicked. */
50
51
  cursor?: string;
51
52
  /**
@@ -0,0 +1,22 @@
1
+ export interface ChartBrush {
2
+ borderColor?: string;
3
+ borderWidth?: number;
4
+ handles?: {
5
+ borderColor?: string;
6
+ borderWidth?: number;
7
+ enabled?: boolean;
8
+ /**
9
+ * Height of the handles in pixels.
10
+ * @default 15
11
+ */
12
+ height?: number;
13
+ /**
14
+ * Width of the handles in pixels.
15
+ * @default 8
16
+ */
17
+ width?: number;
18
+ };
19
+ style?: {
20
+ fillOpacity?: number;
21
+ };
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
1
+ import type { DashStyle, SERIES_TYPE } from '../../constants';
2
+ import type { MeaningfulAny } from '../misc';
3
+ import type { BaseDataLabels, BaseSeries, BaseSeriesData } from './base';
4
+ import type { ChartLegend, RectLegendSymbolOptions } from './legend';
5
+ export interface FunnelSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
6
+ /** The value of the funnel segment. */
7
+ value: number;
8
+ /** The name of the funnel segment (used in legend, tooltip etc). */
9
+ name: string;
10
+ /** Initial data label of the funnel segment. If not specified, the value is used. */
11
+ label?: string;
12
+ }
13
+ export interface FunnelSeries<T = MeaningfulAny> extends Omit<BaseSeries, 'dataLabels'> {
14
+ type: typeof SERIES_TYPE.Funnel;
15
+ data: FunnelSeriesData<T>[];
16
+ /** The name of the funnel series. */
17
+ name?: string;
18
+ /** The color of the funnel series. */
19
+ color?: string;
20
+ /** Individual series legend options. Has higher priority than legend options in widget data */
21
+ legend?: ChartLegend & {
22
+ symbol?: RectLegendSymbolOptions;
23
+ };
24
+ /** Lines or areas connecting the funnel segments. */
25
+ connectors?: {
26
+ enabled?: boolean;
27
+ /** The height of the connector area relative to the funnel segment. */
28
+ height?: string | number;
29
+ /** Option for line stroke style */
30
+ lineDashStyle?: DashStyle;
31
+ /** Opacity for the connector line. */
32
+ lineOpacity?: number;
33
+ /** Connector line color. */
34
+ lineColor?: string;
35
+ /** Connector line width in pixels. */
36
+ lineWidth?: number;
37
+ /** Connector area color. */
38
+ areaColor?: string;
39
+ /** Opacity for the connector area. */
40
+ areaOpacity?: number;
41
+ };
42
+ dataLabels?: Omit<BaseDataLabels, 'html' | 'allowOverlap'> & {
43
+ /** Horizontal alignment of the data labels. */
44
+ align?: 'left' | 'center' | 'right';
45
+ };
46
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import type { SeriesType } from '../../constants';
1
+ import type { SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
@@ -23,7 +23,7 @@ export interface HeatmapSeriesData<T = MeaningfulAny> extends BaseSeriesData<T>
23
23
  label?: string;
24
24
  }
25
25
  export interface HeatmapSeries<T = MeaningfulAny> extends BaseSeries {
26
- type: typeof SeriesType.Heatmap;
26
+ type: typeof SERIES_TYPE.Heatmap;
27
27
  data: HeatmapSeriesData<T>[];
28
28
  /** The name of the series (used in legend, tooltip etc) */
29
29
  name: string;
@@ -59,6 +59,12 @@ export interface ChartLegend {
59
59
  * @default false
60
60
  * */
61
61
  html?: boolean;
62
+ /**
63
+ * The position of the legend box within the chart area.
64
+ *
65
+ * @default 'bottom'
66
+ * */
67
+ position?: 'top' | 'bottom';
62
68
  }
63
69
  export interface BaseLegendSymbol {
64
70
  /**
@@ -1,8 +1,9 @@
1
- import type { DashStyle, LineCap, SeriesType } from '../../constants';
1
+ import type { DashStyle, LineCap, SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
5
5
  import type { PointMarkerOptions } from './marker';
6
+ import type { ChartSeriesRangeSliderOptions } from './series';
6
7
  export interface LineSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
7
8
  /**
8
9
  * The `x` value of the point. Depending on the context , it may represents:
@@ -29,7 +30,7 @@ export interface LineSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
29
30
  };
30
31
  }
31
32
  export interface LineSeries<T = MeaningfulAny> extends BaseSeries {
32
- type: typeof SeriesType.Line;
33
+ type: typeof SERIES_TYPE.Line;
33
34
  data: LineSeriesData<T>[];
34
35
  /** The name of the series (used in legend, tooltip etc) */
35
36
  name: string;
@@ -64,4 +65,8 @@ export interface LineSeries<T = MeaningfulAny> extends BaseSeries {
64
65
  * @default 'skip'
65
66
  */
66
67
  nullMode?: 'connect' | 'zero' | 'skip';
68
+ /**
69
+ * Options to configure how this series appears and behaves in the Range Slider component.
70
+ */
71
+ rangeSlider?: ChartSeriesRangeSliderOptions;
67
72
  }
@@ -1,5 +1,5 @@
1
1
  import type { BaseType } from 'd3';
2
- import type { SeriesType } from '../../constants';
2
+ import type { SERIES_TYPE } from '../../constants';
3
3
  import type { MeaningfulAny } from '../misc';
4
4
  import type { BaseSeries, BaseSeriesData } from './base';
5
5
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
@@ -20,7 +20,7 @@ export interface PieSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
20
20
  export type ConnectorShape = 'straight-line' | 'polyline';
21
21
  export type ConnectorCurve = 'linear' | 'basic';
22
22
  export interface PieSeries<T = MeaningfulAny> extends BaseSeries {
23
- type: typeof SeriesType.Pie;
23
+ type: typeof SERIES_TYPE.Pie;
24
24
  data: PieSeriesData<T>[];
25
25
  /**
26
26
  * The color of the border surrounding each segment.
@@ -1,4 +1,4 @@
1
- import type { SeriesType } from '../../constants';
1
+ import type { SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
@@ -18,7 +18,7 @@ export interface RadarMarkerOptions extends PointMarkerOptions {
18
18
  symbol?: RadarMarkerSymbol;
19
19
  }
20
20
  export interface RadarSeries<T = MeaningfulAny> extends BaseSeries {
21
- type: typeof SeriesType.Radar;
21
+ type: typeof SERIES_TYPE.Radar;
22
22
  /** The categories for the radar chart. */
23
23
  categories?: RadarSeriesCategory[];
24
24
  data: RadarSeriesData<T>[];
@@ -1,4 +1,4 @@
1
- import type { SeriesType } from '../../constants';
1
+ import type { SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
@@ -11,7 +11,7 @@ export interface SankeySeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
11
11
  }[];
12
12
  }
13
13
  export interface SankeySeries<T = MeaningfulAny> extends BaseSeries {
14
- type: typeof SeriesType.Sankey;
14
+ type: typeof SERIES_TYPE.Sankey;
15
15
  /** The name of the series (used in legend, tooltip etc). */
16
16
  name: string;
17
17
  data: SankeySeriesData<T>[];
@@ -1,7 +1,8 @@
1
- import type { SeriesType, SymbolType } from '../../constants';
1
+ import type { SERIES_TYPE, SymbolType } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
5
+ import type { ChartSeriesRangeSliderOptions } from './series';
5
6
  export interface ScatterSeriesData<T = MeaningfulAny> extends BaseSeriesData<T> {
6
7
  /**
7
8
  * The `x` value of the point. Depending on the context , it may represents:
@@ -29,7 +30,7 @@ export interface ScatterSeriesData<T = MeaningfulAny> extends BaseSeriesData<T>
29
30
  opacity?: number;
30
31
  }
31
32
  export interface ScatterSeries<T = MeaningfulAny> extends BaseSeries {
32
- type: typeof SeriesType.Scatter;
33
+ type: typeof SERIES_TYPE.Scatter;
33
34
  data: ScatterSeriesData<T>[];
34
35
  /** The name of the series (used in legend, tooltip etc) */
35
36
  name: string;
@@ -52,4 +53,8 @@ export interface ScatterSeries<T = MeaningfulAny> extends BaseSeries {
52
53
  * @default 'skip'
53
54
  */
54
55
  nullMode?: 'zero' | 'skip';
56
+ /**
57
+ * Options to configure how this series appears and behaves in the Range Slider component.
58
+ */
59
+ rangeSlider?: ChartSeriesRangeSliderOptions;
55
60
  }
@@ -4,6 +4,7 @@ import type { MeaningfulAny } from '../misc';
4
4
  import type { AreaSeries, AreaSeriesData } from './area';
5
5
  import type { BarXSeries, BarXSeriesData } from './bar-x';
6
6
  import type { BarYSeries, BarYSeriesData } from './bar-y';
7
+ import type { FunnelSeries, FunnelSeriesData } from './funnel';
7
8
  import type { Halo } from './halo';
8
9
  import type { HeatmapSeries, HeatmapSeriesData } from './heatmap';
9
10
  import type { LineSeries, LineSeriesData } from './line';
@@ -14,8 +15,8 @@ import type { SankeySeries, SankeySeriesData } from './sankey';
14
15
  import type { ScatterSeries, ScatterSeriesData } from './scatter';
15
16
  import type { TreemapSeries, TreemapSeriesData } from './treemap';
16
17
  import type { WaterfallSeries, WaterfallSeriesData } from './waterfall';
17
- export type ChartSeries<T = MeaningfulAny> = ScatterSeries<T> | PieSeries<T> | BarXSeries<T> | BarYSeries<T> | LineSeries<T> | AreaSeries<T> | TreemapSeries<T> | WaterfallSeries<T> | SankeySeries<T> | RadarSeries<T> | HeatmapSeries<T>;
18
- export type ChartSeriesData<T = MeaningfulAny> = ScatterSeriesData<T> | PieSeriesData<T> | BarXSeriesData<T> | BarYSeriesData<T> | LineSeriesData<T> | AreaSeriesData<T> | TreemapSeriesData<T> | WaterfallSeriesData<T> | SankeySeriesData<T> | RadarSeriesData<T> | HeatmapSeriesData<T>;
18
+ export type ChartSeries<T = MeaningfulAny> = ScatterSeries<T> | PieSeries<T> | BarXSeries<T> | BarYSeries<T> | LineSeries<T> | AreaSeries<T> | TreemapSeries<T> | WaterfallSeries<T> | SankeySeries<T> | RadarSeries<T> | HeatmapSeries<T> | FunnelSeries<T>;
19
+ export type ChartSeriesData<T = MeaningfulAny> = ScatterSeriesData<T> | PieSeriesData<T> | BarXSeriesData<T> | BarYSeriesData<T> | LineSeriesData<T> | AreaSeriesData<T> | TreemapSeriesData<T> | WaterfallSeriesData<T> | SankeySeriesData<T> | RadarSeriesData<T> | HeatmapSeriesData<T> | FunnelSeriesData<T>;
19
20
  export interface DataLabelRendererData<T = MeaningfulAny> {
20
21
  data: ChartSeriesData<T>;
21
22
  }
@@ -285,4 +286,18 @@ export interface ChartSeriesOptions {
285
286
  */
286
287
  borderColor?: string;
287
288
  };
289
+ funnel?: {
290
+ /** Options for the series states that provide additional styling information to the series. */
291
+ states?: {
292
+ hover?: BasicHoverState;
293
+ };
294
+ };
288
295
  }
296
+ export type ChartSeriesRangeSliderOptions = {
297
+ /**
298
+ * Enable or disable the visibility of this series in the Range Slider.
299
+ *
300
+ * @default true
301
+ */
302
+ visible?: boolean;
303
+ };
@@ -5,6 +5,7 @@ import type { ChartXAxis, ChartYAxis } from './axis';
5
5
  import type { BarXSeries, BarXSeriesData } from './bar-x';
6
6
  import type { BarYSeries, BarYSeriesData } from './bar-y';
7
7
  import type { CustomFormat, ValueFormat } from './base';
8
+ import type { FunnelSeries, FunnelSeriesData } from './funnel';
8
9
  import type { HeatmapSeries, HeatmapSeriesData } from './heatmap';
9
10
  import type { LineSeries, LineSeriesData } from './line';
10
11
  import type { PieSeries, PieSeriesData } from './pie';
@@ -76,9 +77,16 @@ export interface TooltipDataChunkRadar<T = MeaningfulAny> {
76
77
  export interface TooltipDataChunkHeatmap<T = MeaningfulAny> {
77
78
  data: HeatmapSeriesData<T>;
78
79
  series: HeatmapSeries<T>;
79
- closest: boolean;
80
80
  }
81
- export type TooltipDataChunk<T = MeaningfulAny> = (TooltipDataChunkBarX<T> | TooltipDataChunkBarY<T> | TooltipDataChunkPie<T> | TooltipDataChunkScatter<T> | TooltipDataChunkLine<T> | TooltipDataChunkArea<T> | TooltipDataChunkTreemap<T> | TooltipDataChunkSankey<T> | TooltipDataChunkWaterfall<T> | TooltipDataChunkRadar<T> | TooltipDataChunkHeatmap<T>) & {
81
+ export interface TooltipDataChunkFunnel<T = MeaningfulAny> {
82
+ data: FunnelSeriesData<T>;
83
+ series: {
84
+ type: FunnelSeries['type'];
85
+ id: string;
86
+ name: string;
87
+ };
88
+ }
89
+ export type TooltipDataChunk<T = MeaningfulAny> = (TooltipDataChunkBarX<T> | TooltipDataChunkBarY<T> | TooltipDataChunkPie<T> | TooltipDataChunkScatter<T> | TooltipDataChunkLine<T> | TooltipDataChunkArea<T> | TooltipDataChunkTreemap<T> | TooltipDataChunkSankey<T> | TooltipDataChunkWaterfall<T> | TooltipDataChunkRadar<T> | TooltipDataChunkHeatmap<T> | TooltipDataChunkFunnel<T>) & {
82
90
  closest?: boolean;
83
91
  };
84
92
  export interface ChartTooltipRendererArgs<T = MeaningfulAny> {
@@ -1,4 +1,4 @@
1
- import type { LayoutAlgorithm, SeriesType } from '../../constants';
1
+ import type { LayoutAlgorithm, SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
@@ -16,7 +16,7 @@ export interface TreemapSeriesData<T = MeaningfulAny> extends BaseSeriesData<T>
16
16
  parentId?: string;
17
17
  }
18
18
  export interface TreemapSeries<T = MeaningfulAny> extends BaseSeries {
19
- type: typeof SeriesType.Treemap;
19
+ type: typeof SERIES_TYPE.Treemap;
20
20
  data: TreemapSeriesData<T>[];
21
21
  /** The name of the series (used in legend, tooltip etc). */
22
22
  name: string;
@@ -1,4 +1,4 @@
1
- import type { SeriesType } from '../../constants';
1
+ import type { SERIES_TYPE } from '../../constants';
2
2
  import type { MeaningfulAny } from '../misc';
3
3
  import type { BaseSeries, BaseSeriesData } from './base';
4
4
  import type { ChartLegend, RectLegendSymbolOptions } from './legend';
@@ -23,7 +23,7 @@ export interface WaterfallSeriesData<T = MeaningfulAny> extends BaseSeriesData<T
23
23
  total?: boolean;
24
24
  }
25
25
  export interface WaterfallSeries<T = MeaningfulAny> extends BaseSeries {
26
- type: typeof SeriesType.Waterfall;
26
+ type: typeof SERIES_TYPE.Waterfall;
27
27
  data: WaterfallSeriesData<T>[];
28
28
  /** The name of the series (used in legend, tooltip etc). */
29
29
  name: string;
@@ -1,4 +1,5 @@
1
1
  import type { ZoomType } from '../../constants';
2
+ import type { ChartBrush } from './brush';
2
3
  /**
3
4
  * Configuration options for chart zooming functionality using area selection.
4
5
  * Working with only axis related series.
@@ -29,11 +30,7 @@ export interface ChartZoom {
29
30
  /**
30
31
  * Zoom brush configuration.
31
32
  */
32
- brush?: {
33
- style?: {
34
- fillOpacity?: number;
35
- };
36
- };
33
+ brush?: Omit<ChartBrush, 'handles'>;
37
34
  /**
38
35
  * Reset zoom button configuration.
39
36
  * The button appears only after the zoom has been applied.
@@ -29,6 +29,8 @@ export * from './chart/waterfall';
29
29
  export * from './chart/sankey';
30
30
  export * from './chart/radar';
31
31
  export * from './chart/heatmap';
32
+ export * from './chart/funnel';
33
+ export * from './chart/brush';
32
34
  export interface ChartData<T = MeaningfulAny> {
33
35
  /**
34
36
  * General options for the chart.
@@ -21,3 +21,5 @@ export * from './chart/waterfall';
21
21
  export * from './chart/sankey';
22
22
  export * from './chart/radar';
23
23
  export * from './chart/heatmap';
24
+ export * from './chart/funnel';
25
+ export * from './chart/brush';