@mui/x-charts 8.0.0-alpha.0 → 8.0.0-alpha.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 (335) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +15 -0
  2. package/BarChart/AnimatedBarElement.js +21 -0
  3. package/BarChart/BarChart.d.ts +4 -9
  4. package/BarChart/BarChart.js +3 -31
  5. package/BarChart/BarElement.d.ts +5 -1342
  6. package/BarChart/BarElement.js +10 -20
  7. package/BarChart/BarPlot.js +12 -2
  8. package/BarChart/useBarChartProps.d.ts +0 -2
  9. package/BarChart/useBarChartProps.js +2 -8
  10. package/CHANGELOG.md +429 -5
  11. package/ChartContainer/ChartContainer.d.ts +2 -19
  12. package/ChartContainer/ChartContainer.js +10 -20
  13. package/ChartContainer/ResizableContainer.d.ts +17 -4
  14. package/ChartContainer/ResizableContainer.js +36 -2
  15. package/ChartContainer/useChartContainerProps.d.ts +6 -7
  16. package/ChartContainer/useChartContainerProps.js +14 -28
  17. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -17
  18. package/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  19. package/ChartsAxisHighlight/ChartsAxisHighlight.types.d.ts +5 -0
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  21. package/ChartsAxisHighlight/ChartsAxisHighlightPath.d.ts +6 -0
  22. package/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  23. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +10 -0
  24. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  25. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +10 -0
  26. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  27. package/ChartsAxisHighlight/chartsAxisHighlightClasses.d.ts +7 -0
  28. package/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  29. package/ChartsAxisHighlight/index.d.ts +3 -0
  30. package/ChartsAxisHighlight/index.js +4 -1
  31. package/ChartsGrid/ChartsGrid.js +1 -1
  32. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  33. package/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  34. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  35. package/ChartsGrid/ChartsVerticalGrid.js +3 -3
  36. package/ChartsLegend/LegendPerItem.d.ts +2 -2
  37. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  38. package/ChartsSurface/ChartsSurface.d.ts +0 -15
  39. package/ChartsSurface/ChartsSurface.js +35 -34
  40. package/ChartsTooltip/ChartTooltip.types.d.ts +15 -0
  41. package/ChartsTooltip/ChartTooltip.types.js +1 -0
  42. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +7 -39
  43. package/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  44. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -28
  45. package/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  46. package/ChartsTooltip/ChartsTooltip.d.ts +3 -69
  47. package/ChartsTooltip/ChartsTooltip.js +161 -145
  48. package/ChartsTooltip/ChartsTooltipContainer.d.ts +33 -0
  49. package/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  50. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -0
  51. package/ChartsTooltip/chartsTooltipClasses.js +18 -2
  52. package/ChartsTooltip/index.d.ts +3 -3
  53. package/ChartsTooltip/index.js +2 -3
  54. package/ChartsTooltip/useAxisTooltip.d.ts +2 -2
  55. package/ChartsTooltip/useAxisTooltip.js +19 -19
  56. package/ChartsTooltip/useItemTooltip.d.ts +1 -1
  57. package/ChartsTooltip/useItemTooltip.js +5 -4
  58. package/ChartsTooltip/utils.d.ts +0 -3
  59. package/ChartsTooltip/utils.js +0 -8
  60. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +47 -34
  61. package/Gauge/Gauge.d.ts +1 -1
  62. package/Gauge/Gauge.js +0 -6
  63. package/Gauge/GaugeContainer.d.ts +3 -3
  64. package/Gauge/GaugeContainer.js +60 -61
  65. package/LineChart/AnimatedArea.d.ts +0 -1333
  66. package/LineChart/AnimatedArea.js +9 -18
  67. package/LineChart/AnimatedLine.d.ts +0 -1333
  68. package/LineChart/AnimatedLine.js +9 -20
  69. package/LineChart/AreaPlot.js +12 -2
  70. package/LineChart/CircleMarkElement.js +6 -5
  71. package/LineChart/LineChart.d.ts +4 -10
  72. package/LineChart/LineChart.js +3 -32
  73. package/LineChart/LineHighlightPlot.js +6 -5
  74. package/LineChart/LinePlot.js +12 -2
  75. package/LineChart/MarkElement.js +6 -5
  76. package/LineChart/useLineChartProps.d.ts +0 -2
  77. package/LineChart/useLineChartProps.js +2 -8
  78. package/PieChart/PieChart.d.ts +3 -9
  79. package/PieChart/PieChart.js +5 -37
  80. package/PieChart/PiePlot.js +2 -2
  81. package/PieChart/getPieCoordinates.d.ts +2 -2
  82. package/README.md +2 -2
  83. package/ScatterChart/Scatter.js +6 -5
  84. package/ScatterChart/ScatterChart.d.ts +4 -10
  85. package/ScatterChart/ScatterChart.js +5 -32
  86. package/ScatterChart/useScatterChartProps.d.ts +0 -2
  87. package/ScatterChart/useScatterChartProps.js +1 -9
  88. package/SparkLineChart/SparkLineChart.d.ts +3 -4
  89. package/SparkLineChart/SparkLineChart.js +4 -31
  90. package/context/ChartDataProvider/ChartDataProvider.d.ts +9 -19
  91. package/context/ChartDataProvider/ChartDataProvider.js +30 -43
  92. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +7 -10
  93. package/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  94. package/context/{DrawingProvider.d.ts → DrawingAreaProvider/DrawingArea.types.d.ts} +3 -14
  95. package/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  96. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +8 -0
  97. package/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  98. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +3 -0
  99. package/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  100. package/context/DrawingAreaProvider/index.d.ts +3 -0
  101. package/context/DrawingAreaProvider/index.js +3 -0
  102. package/context/InteractionProvider.d.ts +5 -48
  103. package/context/InteractionProvider.js +8 -64
  104. package/context/InteractionSelectors.d.ts +359 -0
  105. package/context/InteractionSelectors.js +12 -0
  106. package/context/SizeProvider/Size.types.d.ts +30 -0
  107. package/context/SizeProvider/Size.types.js +1 -0
  108. package/context/SizeProvider/SizeContext.d.ts +4 -0
  109. package/context/SizeProvider/SizeContext.js +13 -0
  110. package/context/SizeProvider/SizeProvider.d.ts +11 -0
  111. package/context/SizeProvider/SizeProvider.js +26 -0
  112. package/context/SizeProvider/index.d.ts +4 -0
  113. package/context/SizeProvider/index.js +4 -0
  114. package/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.d.ts +4 -1
  115. package/{modern/ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +11 -5
  116. package/context/SizeProvider/useSize.d.ts +5 -0
  117. package/context/SizeProvider/useSize.js +13 -0
  118. package/context/SvgRefProvider/SvgRef.types.d.ts +8 -0
  119. package/context/SvgRefProvider/SvgRef.types.js +1 -0
  120. package/context/SvgRefProvider/SvgRefContext.d.ts +4 -0
  121. package/context/SvgRefProvider/SvgRefContext.js +17 -0
  122. package/context/SvgRefProvider/SvgRefProvider.d.ts +3 -0
  123. package/context/SvgRefProvider/SvgRefProvider.js +24 -0
  124. package/context/SvgRefProvider/index.d.ts +4 -0
  125. package/context/SvgRefProvider/index.js +4 -0
  126. package/context/SvgRefProvider/useSurfaceRef.d.ts +2 -0
  127. package/context/SvgRefProvider/useSurfaceRef.js +14 -0
  128. package/context/index.d.ts +2 -0
  129. package/context/index.js +2 -1
  130. package/hooks/useAxisEvents.js +32 -19
  131. package/hooks/useChartId.js +2 -2
  132. package/hooks/useDrawingArea.d.ts +2 -2
  133. package/hooks/useDrawingArea.js +2 -2
  134. package/hooks/useInteractionItemProps.js +19 -12
  135. package/hooks/useSvgRef.js +3 -3
  136. package/index.js +1 -1
  137. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +1 -1
  138. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  139. package/internals/computeAxisValue.d.ts +2 -2
  140. package/internals/index.d.ts +3 -2
  141. package/internals/index.js +3 -2
  142. package/internals/plugins/models/index.d.ts +35 -0
  143. package/internals/plugins/models/index.js +1 -0
  144. package/internals/plugins/utils/ChartStore.d.ts +12 -0
  145. package/internals/plugins/utils/ChartStore.js +26 -0
  146. package/internals/plugins/utils/ChartsStore.d.ts +12 -0
  147. package/internals/plugins/utils/ChartsStore.js +26 -0
  148. package/internals/plugins/utils/selectors.d.ts +9 -0
  149. package/internals/plugins/utils/selectors.js +37 -0
  150. package/internals/useCharts.d.ts +6 -0
  151. package/internals/useCharts.js +29 -0
  152. package/internals/useSelector.d.ts +4 -0
  153. package/internals/useSelector.js +6 -0
  154. package/internals/useStore.d.ts +2 -0
  155. package/internals/useStore.js +17 -0
  156. package/modern/BarChart/AnimatedBarElement.js +21 -0
  157. package/modern/BarChart/BarChart.js +3 -31
  158. package/modern/BarChart/BarElement.js +10 -20
  159. package/modern/BarChart/BarPlot.js +12 -2
  160. package/modern/BarChart/useBarChartProps.js +2 -8
  161. package/modern/ChartContainer/ChartContainer.js +10 -20
  162. package/modern/ChartContainer/ResizableContainer.js +36 -2
  163. package/modern/ChartContainer/useChartContainerProps.js +14 -28
  164. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  165. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  166. package/modern/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  167. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  168. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  169. package/modern/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  170. package/modern/ChartsAxisHighlight/index.js +4 -1
  171. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  172. package/modern/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  173. package/modern/ChartsGrid/ChartsVerticalGrid.js +3 -3
  174. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  175. package/modern/ChartsSurface/ChartsSurface.js +35 -34
  176. package/modern/ChartsTooltip/ChartTooltip.types.js +1 -0
  177. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  178. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  179. package/modern/ChartsTooltip/ChartsTooltip.js +161 -145
  180. package/modern/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  181. package/modern/ChartsTooltip/chartsTooltipClasses.js +18 -2
  182. package/modern/ChartsTooltip/index.js +2 -3
  183. package/modern/ChartsTooltip/useAxisTooltip.js +19 -19
  184. package/modern/ChartsTooltip/useItemTooltip.js +5 -4
  185. package/modern/ChartsTooltip/utils.js +0 -8
  186. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +47 -34
  187. package/modern/Gauge/Gauge.js +0 -6
  188. package/modern/Gauge/GaugeContainer.js +60 -61
  189. package/modern/LineChart/AnimatedArea.js +9 -18
  190. package/modern/LineChart/AnimatedLine.js +9 -20
  191. package/modern/LineChart/AreaPlot.js +12 -2
  192. package/modern/LineChart/CircleMarkElement.js +6 -5
  193. package/modern/LineChart/LineChart.js +3 -32
  194. package/modern/LineChart/LineHighlightPlot.js +6 -5
  195. package/modern/LineChart/LinePlot.js +12 -2
  196. package/modern/LineChart/MarkElement.js +6 -5
  197. package/modern/LineChart/useLineChartProps.js +2 -8
  198. package/modern/PieChart/PieChart.js +5 -37
  199. package/modern/PieChart/PiePlot.js +2 -2
  200. package/modern/ScatterChart/Scatter.js +6 -5
  201. package/modern/ScatterChart/ScatterChart.js +5 -32
  202. package/modern/ScatterChart/useScatterChartProps.js +1 -9
  203. package/modern/SparkLineChart/SparkLineChart.js +4 -31
  204. package/modern/context/ChartDataProvider/ChartDataProvider.js +30 -43
  205. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  206. package/modern/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  207. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  208. package/modern/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  209. package/modern/context/DrawingAreaProvider/index.js +3 -0
  210. package/modern/context/InteractionProvider.js +8 -64
  211. package/modern/context/InteractionSelectors.js +12 -0
  212. package/modern/context/SizeProvider/Size.types.js +1 -0
  213. package/modern/context/SizeProvider/SizeContext.js +13 -0
  214. package/modern/context/SizeProvider/SizeProvider.js +26 -0
  215. package/modern/context/SizeProvider/index.js +4 -0
  216. package/{ChartContainer → modern/context/SizeProvider}/useChartContainerDimensions.js +11 -5
  217. package/modern/context/SizeProvider/useSize.js +13 -0
  218. package/modern/context/SvgRefProvider/SvgRef.types.js +1 -0
  219. package/modern/context/SvgRefProvider/SvgRefContext.js +17 -0
  220. package/modern/context/SvgRefProvider/SvgRefProvider.js +24 -0
  221. package/modern/context/SvgRefProvider/index.js +4 -0
  222. package/modern/context/SvgRefProvider/useSurfaceRef.js +14 -0
  223. package/modern/context/index.js +2 -1
  224. package/modern/hooks/useAxisEvents.js +32 -19
  225. package/modern/hooks/useChartId.js +2 -2
  226. package/modern/hooks/useDrawingArea.js +2 -2
  227. package/modern/hooks/useInteractionItemProps.js +19 -12
  228. package/modern/hooks/useSvgRef.js +3 -3
  229. package/modern/index.js +1 -1
  230. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  231. package/modern/internals/index.js +3 -2
  232. package/modern/internals/plugins/models/index.js +1 -0
  233. package/modern/internals/plugins/utils/ChartStore.js +26 -0
  234. package/modern/internals/plugins/utils/ChartsStore.js +26 -0
  235. package/modern/internals/plugins/utils/selectors.js +37 -0
  236. package/modern/internals/useCharts.js +29 -0
  237. package/modern/internals/useSelector.js +6 -0
  238. package/modern/internals/useStore.js +17 -0
  239. package/node/BarChart/AnimatedBarElement.js +28 -0
  240. package/node/BarChart/BarChart.js +3 -31
  241. package/node/BarChart/BarElement.js +11 -21
  242. package/node/BarChart/BarPlot.js +11 -1
  243. package/node/BarChart/useBarChartProps.js +2 -8
  244. package/node/ChartContainer/ChartContainer.js +10 -20
  245. package/node/ChartContainer/ResizableContainer.js +39 -3
  246. package/node/ChartContainer/useChartContainerProps.js +14 -28
  247. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +12 -100
  248. package/node/ChartsAxisHighlight/ChartsAxisHighlight.types.js +5 -0
  249. package/node/ChartsAxisHighlight/ChartsAxisHighlightPath.js +40 -0
  250. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +57 -0
  251. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +57 -0
  252. package/node/ChartsAxisHighlight/chartsAxisHighlightClasses.js +14 -0
  253. package/node/ChartsAxisHighlight/index.js +33 -0
  254. package/node/ChartsGrid/ChartsGrid.js +2 -2
  255. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -4
  256. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -4
  257. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  258. package/node/ChartsSurface/ChartsSurface.js +35 -34
  259. package/node/ChartsTooltip/ChartTooltip.types.js +5 -0
  260. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +83 -73
  261. package/node/ChartsTooltip/ChartsItemTooltipContent.js +54 -45
  262. package/node/ChartsTooltip/ChartsTooltip.js +160 -144
  263. package/node/ChartsTooltip/ChartsTooltipContainer.js +304 -0
  264. package/node/ChartsTooltip/chartsTooltipClasses.js +22 -3
  265. package/node/ChartsTooltip/index.js +19 -28
  266. package/node/ChartsTooltip/useAxisTooltip.js +19 -19
  267. package/node/ChartsTooltip/useItemTooltip.js +5 -4
  268. package/node/ChartsTooltip/utils.js +0 -9
  269. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +48 -35
  270. package/node/Gauge/Gauge.js +0 -6
  271. package/node/Gauge/GaugeContainer.js +60 -61
  272. package/node/LineChart/AnimatedArea.js +9 -19
  273. package/node/LineChart/AnimatedLine.js +9 -21
  274. package/node/LineChart/AreaPlot.js +11 -1
  275. package/node/LineChart/CircleMarkElement.js +6 -5
  276. package/node/LineChart/LineChart.js +3 -32
  277. package/node/LineChart/LineHighlightPlot.js +6 -5
  278. package/node/LineChart/LinePlot.js +11 -1
  279. package/node/LineChart/MarkElement.js +6 -5
  280. package/node/LineChart/useLineChartProps.js +2 -8
  281. package/node/PieChart/PieChart.js +5 -37
  282. package/node/PieChart/PiePlot.js +2 -2
  283. package/node/ScatterChart/Scatter.js +6 -5
  284. package/node/ScatterChart/ScatterChart.js +5 -32
  285. package/node/ScatterChart/useScatterChartProps.js +1 -9
  286. package/node/SparkLineChart/SparkLineChart.js +4 -31
  287. package/node/context/ChartDataProvider/ChartDataProvider.js +30 -43
  288. package/node/context/ChartDataProvider/useChartDataProviderProps.js +22 -44
  289. package/node/context/DrawingAreaProvider/DrawingArea.types.js +5 -0
  290. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +22 -0
  291. package/node/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +12 -44
  292. package/node/context/DrawingAreaProvider/index.js +38 -0
  293. package/node/context/InteractionProvider.js +9 -66
  294. package/node/context/InteractionSelectors.js +18 -0
  295. package/node/context/SizeProvider/Size.types.js +5 -0
  296. package/node/context/SizeProvider/SizeContext.js +20 -0
  297. package/node/context/SizeProvider/SizeProvider.js +29 -0
  298. package/node/context/SizeProvider/index.js +49 -0
  299. package/node/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +11 -5
  300. package/node/context/SizeProvider/useSize.js +20 -0
  301. package/node/context/SvgRefProvider/SvgRef.types.js +5 -0
  302. package/node/context/SvgRefProvider/SvgRefContext.js +23 -0
  303. package/node/context/SvgRefProvider/SvgRefProvider.js +31 -0
  304. package/node/context/SvgRefProvider/index.js +49 -0
  305. package/node/context/SvgRefProvider/useSurfaceRef.js +20 -0
  306. package/node/context/index.js +10 -2
  307. package/node/hooks/useAxisEvents.js +33 -19
  308. package/node/hooks/useChartId.js +2 -2
  309. package/node/hooks/useDrawingArea.js +2 -2
  310. package/node/hooks/useInteractionItemProps.js +20 -13
  311. package/node/hooks/useSvgRef.js +3 -3
  312. package/node/index.js +1 -1
  313. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  314. package/node/internals/index.js +28 -16
  315. package/node/internals/plugins/models/index.js +5 -0
  316. package/node/internals/plugins/utils/ChartStore.js +33 -0
  317. package/node/internals/plugins/utils/ChartsStore.js +33 -0
  318. package/node/internals/plugins/utils/selectors.js +44 -0
  319. package/node/internals/useCharts.js +36 -0
  320. package/node/internals/useSelector.js +13 -0
  321. package/node/internals/useStore.js +24 -0
  322. package/package.json +7 -5
  323. package/themeAugmentation/props.d.ts +1 -2
  324. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +0 -7
  325. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  326. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +0 -8
  327. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  328. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  329. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  330. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -129
  331. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -98
  332. /package/ChartsGrid/{styledCommonents.d.ts → styledComponents.d.ts} +0 -0
  333. /package/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  334. /package/modern/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  335. /package/node/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
@@ -3,42 +3,19 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import useId from '@mui/utils/useId';
6
- import useChartDimensions from "../hooks/useChartDimensions.js";
7
-
8
- /**
9
- * Defines the area in which it is possible to draw the charts.
10
- */
6
+ import useChartDimensions from "../../hooks/useChartDimensions.js";
7
+ import { DrawingAreaContext } from "./DrawingAreaContext.js";
8
+ import { useSize } from "../SizeProvider/index.js";
11
9
  import { jsx as _jsx } from "react/jsx-runtime";
12
- export const DrawingContext = /*#__PURE__*/React.createContext({
13
- top: 0,
14
- left: 0,
15
- bottom: 0,
16
- right: 0,
17
- height: 300,
18
- width: 400,
19
- chartId: '',
20
- isPointInside: () => false
21
- });
22
- if (process.env.NODE_ENV !== 'production') {
23
- DrawingContext.displayName = 'DrawingContext';
24
- }
25
- export const SvgContext = /*#__PURE__*/React.createContext({
26
- isInitialized: false,
27
- data: {
28
- current: null
29
- }
30
- });
31
- if (process.env.NODE_ENV !== 'production') {
32
- SvgContext.displayName = 'SvgContext';
33
- }
34
- export function DrawingProvider(props) {
10
+ export function DrawingAreaProvider(props) {
35
11
  const {
36
- width,
37
- height,
38
12
  margin,
39
- svgRef,
40
13
  children
41
14
  } = props;
15
+ const {
16
+ width,
17
+ height
18
+ } = useSize();
42
19
  const drawingArea = useChartDimensions(width, height, margin);
43
20
  const chartId = useId();
44
21
  const isPointInside = React.useCallback(({
@@ -64,15 +41,8 @@ export function DrawingProvider(props) {
64
41
  }, drawingArea, {
65
42
  isPointInside
66
43
  }), [chartId, drawingArea, isPointInside]);
67
- const refValue = React.useMemo(() => ({
68
- isInitialized: true,
69
- data: svgRef
70
- }), [svgRef]);
71
- return /*#__PURE__*/_jsx(SvgContext.Provider, {
72
- value: refValue,
73
- children: /*#__PURE__*/_jsx(DrawingContext.Provider, {
74
- value: value,
75
- children: children
76
- })
44
+ return /*#__PURE__*/_jsx(DrawingAreaContext.Provider, {
45
+ value: value,
46
+ children: children
77
47
  });
78
48
  }
@@ -0,0 +1,3 @@
1
+ export * from './DrawingArea.types';
2
+ export * from './DrawingAreaProvider';
3
+ export * from './DrawingAreaContext';
@@ -0,0 +1,3 @@
1
+ export * from "./DrawingArea.types.js";
2
+ export * from "./DrawingAreaProvider.js";
3
+ export * from "./DrawingAreaContext.js";
@@ -1,50 +1,7 @@
1
1
  import * as React from 'react';
2
- import { ChartItemIdentifier, ChartSeriesType } from '../models/seriesType/config';
3
- export interface InteractionProviderProps {
4
- children: React.ReactNode;
5
- }
6
- export type ItemInteractionData<T extends ChartSeriesType> = ChartItemIdentifier<T>;
7
- export type AxisInteractionData = {
8
- x: null | {
9
- value: number | Date | string;
10
- index: number;
11
- };
12
- y: null | {
13
- value: number | Date | string;
14
- index: number;
15
- };
16
- };
17
- type InteractionActions<T extends ChartSeriesType = ChartSeriesType> = {
18
- type: 'enterItem';
19
- data: ItemInteractionData<T>;
20
- } | {
21
- type: 'leaveItem';
22
- data: Partial<ItemInteractionData<T>>;
23
- } | {
24
- type: 'exitChart';
25
- } | {
26
- type: 'updateVoronoiUsage';
27
- useVoronoiInteraction: boolean;
28
- } | {
29
- type: 'updateAxis';
30
- data: AxisInteractionData;
31
- };
32
- type InteractionState = {
33
- /**
34
- * The item currently interacting.
35
- */
36
- item: null | ItemInteractionData<ChartSeriesType>;
37
- /**
38
- * The x- and y-axes currently interacting.
39
- */
40
- axis: AxisInteractionData;
41
- /**
42
- * Set to `true` when `VoronoiHandler` is active.
43
- * Used to prevent collision with mouseEnter events.
44
- */
45
- useVoronoiInteraction: boolean;
46
- dispatch: React.Dispatch<InteractionActions>;
47
- };
48
- export declare const InteractionContext: React.Context<InteractionState>;
49
- declare function InteractionProvider(props: InteractionProviderProps): React.JSX.Element;
2
+ import { ChartStore } from '../internals/plugins/utils/ChartStore';
3
+ export declare const ChartsContext: React.Context<{
4
+ store: ChartStore;
5
+ } | null>;
6
+ declare function InteractionProvider(props: React.PropsWithChildren): React.JSX.Element;
50
7
  export { InteractionProvider };
@@ -1,77 +1,21 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import * as React from 'react';
4
+ import { useCharts } from "../internals/useCharts.js";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
- export const InteractionContext = /*#__PURE__*/React.createContext({
7
- item: null,
8
- axis: {
9
- x: null,
10
- y: null
11
- },
12
- useVoronoiInteraction: false,
13
- dispatch: () => null
14
- });
6
+ export const ChartsContext = /*#__PURE__*/React.createContext(null);
15
7
  if (process.env.NODE_ENV !== 'production') {
16
- InteractionContext.displayName = 'InteractionContext';
8
+ ChartsContext.displayName = 'ChartsContext';
17
9
  }
18
- const dataReducer = (prevState, action) => {
19
- switch (action.type) {
20
- case 'enterItem':
21
- return _extends({}, prevState, {
22
- item: action.data
23
- });
24
- case 'exitChart':
25
- if (prevState.item === null && prevState.axis.x === null && prevState.axis.y === null) {
26
- return prevState;
27
- }
28
- return _extends({}, prevState, {
29
- axis: {
30
- x: null,
31
- y: null
32
- },
33
- item: null
34
- });
35
- case 'updateVoronoiUsage':
36
- return _extends({}, prevState, {
37
- useVoronoiInteraction: action.useVoronoiInteraction
38
- });
39
- case 'leaveItem':
40
- if (prevState.item === null || Object.keys(action.data).some(key => action.data[key] !== prevState.item[key])) {
41
- // The item is already something else
42
- return prevState;
43
- }
44
- return _extends({}, prevState, {
45
- item: null
46
- });
47
- case 'updateAxis':
48
- if (action.data.x === prevState.axis.x && action.data.y === prevState.axis.y) {
49
- return prevState;
50
- }
51
- return _extends({}, prevState, {
52
- axis: action.data
53
- });
54
- default:
55
- return prevState;
56
- }
57
- };
58
10
  function InteractionProvider(props) {
59
11
  const {
60
12
  children
61
13
  } = props;
62
- const [data, dispatch] = React.useReducer(dataReducer, {
63
- item: null,
64
- axis: {
65
- x: null,
66
- y: null
67
- },
68
- useVoronoiInteraction: false
69
- });
70
- const value = React.useMemo(() => _extends({}, data, {
71
- dispatch
72
- }), [data]);
73
- return /*#__PURE__*/_jsx(InteractionContext.Provider, {
74
- value: value,
14
+ const {
15
+ contextValue
16
+ } = useCharts();
17
+ return /*#__PURE__*/_jsx(ChartsContext.Provider, {
18
+ value: contextValue,
75
19
  children: children
76
20
  });
77
21
  }
@@ -0,0 +1,359 @@
1
+ import { ChartState } from '../internals/plugins/models';
2
+ declare function selectInteraction(state: ChartState): {
3
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
4
+ axis: import("../internals/plugins/models").AxisInteractionData;
5
+ isVoronoiEnabled?: boolean;
6
+ };
7
+ export declare const selectorChartsInteractionItem: ((state: ChartState) => import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null) & {
8
+ clearCache: () => void;
9
+ resultsCount: () => number;
10
+ resetResultsCount: () => void;
11
+ } & {
12
+ resultFunc: (resultFuncArgs_0: {
13
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
14
+ axis: import("../internals/plugins/models").AxisInteractionData;
15
+ isVoronoiEnabled?: boolean;
16
+ }) => import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null;
17
+ memoizedResultFunc: ((resultFuncArgs_0: {
18
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
19
+ axis: import("../internals/plugins/models").AxisInteractionData;
20
+ isVoronoiEnabled?: boolean;
21
+ }) => import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null) & {
22
+ clearCache: () => void;
23
+ resultsCount: () => number;
24
+ resetResultsCount: () => void;
25
+ };
26
+ lastResult: () => import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null;
27
+ dependencies: [typeof selectInteraction];
28
+ recomputations: () => number;
29
+ resetRecomputations: () => void;
30
+ dependencyRecomputations: () => number;
31
+ resetDependencyRecomputations: () => void;
32
+ } & {
33
+ argsMemoize: typeof import("reselect").weakMapMemoize;
34
+ memoize: typeof import("reselect").weakMapMemoize;
35
+ };
36
+ export declare const selectorChartsInteractionAxis: ((state: ChartState) => import("../internals/plugins/models").AxisInteractionData) & {
37
+ clearCache: () => void;
38
+ resultsCount: () => number;
39
+ resetResultsCount: () => void;
40
+ } & {
41
+ resultFunc: (resultFuncArgs_0: {
42
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
43
+ axis: import("../internals/plugins/models").AxisInteractionData;
44
+ isVoronoiEnabled?: boolean;
45
+ }) => import("../internals/plugins/models").AxisInteractionData;
46
+ memoizedResultFunc: ((resultFuncArgs_0: {
47
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
48
+ axis: import("../internals/plugins/models").AxisInteractionData;
49
+ isVoronoiEnabled?: boolean;
50
+ }) => import("../internals/plugins/models").AxisInteractionData) & {
51
+ clearCache: () => void;
52
+ resultsCount: () => number;
53
+ resetResultsCount: () => void;
54
+ };
55
+ lastResult: () => import("../internals/plugins/models").AxisInteractionData;
56
+ dependencies: [typeof selectInteraction];
57
+ recomputations: () => number;
58
+ resetRecomputations: () => void;
59
+ dependencyRecomputations: () => number;
60
+ resetDependencyRecomputations: () => void;
61
+ } & {
62
+ argsMemoize: typeof import("reselect").weakMapMemoize;
63
+ memoize: typeof import("reselect").weakMapMemoize;
64
+ };
65
+ export declare const selectorChartsInteractionXAxis: ((state: ChartState) => {
66
+ value: number | Date | string;
67
+ index: number;
68
+ } | null) & {
69
+ clearCache: () => void;
70
+ resultsCount: () => number;
71
+ resetResultsCount: () => void;
72
+ } & {
73
+ resultFunc: (resultFuncArgs_0: {
74
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
75
+ axis: import("../internals/plugins/models").AxisInteractionData;
76
+ isVoronoiEnabled?: boolean;
77
+ }) => {
78
+ value: number | Date | string;
79
+ index: number;
80
+ } | null;
81
+ memoizedResultFunc: ((resultFuncArgs_0: {
82
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
83
+ axis: import("../internals/plugins/models").AxisInteractionData;
84
+ isVoronoiEnabled?: boolean;
85
+ }) => {
86
+ value: number | Date | string;
87
+ index: number;
88
+ } | null) & {
89
+ clearCache: () => void;
90
+ resultsCount: () => number;
91
+ resetResultsCount: () => void;
92
+ };
93
+ lastResult: () => {
94
+ value: number | Date | string;
95
+ index: number;
96
+ } | null;
97
+ dependencies: [typeof selectInteraction];
98
+ recomputations: () => number;
99
+ resetRecomputations: () => void;
100
+ dependencyRecomputations: () => number;
101
+ resetDependencyRecomputations: () => void;
102
+ } & {
103
+ argsMemoize: typeof import("reselect").weakMapMemoize;
104
+ memoize: typeof import("reselect").weakMapMemoize;
105
+ };
106
+ export declare const selectorChartsInteractionYAxis: ((state: ChartState) => {
107
+ value: number | Date | string;
108
+ index: number;
109
+ } | null) & {
110
+ clearCache: () => void;
111
+ resultsCount: () => number;
112
+ resetResultsCount: () => void;
113
+ } & {
114
+ resultFunc: (resultFuncArgs_0: {
115
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
116
+ axis: import("../internals/plugins/models").AxisInteractionData;
117
+ isVoronoiEnabled?: boolean;
118
+ }) => {
119
+ value: number | Date | string;
120
+ index: number;
121
+ } | null;
122
+ memoizedResultFunc: ((resultFuncArgs_0: {
123
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
124
+ axis: import("../internals/plugins/models").AxisInteractionData;
125
+ isVoronoiEnabled?: boolean;
126
+ }) => {
127
+ value: number | Date | string;
128
+ index: number;
129
+ } | null) & {
130
+ clearCache: () => void;
131
+ resultsCount: () => number;
132
+ resetResultsCount: () => void;
133
+ };
134
+ lastResult: () => {
135
+ value: number | Date | string;
136
+ index: number;
137
+ } | null;
138
+ dependencies: [typeof selectInteraction];
139
+ recomputations: () => number;
140
+ resetRecomputations: () => void;
141
+ dependencyRecomputations: () => number;
142
+ resetDependencyRecomputations: () => void;
143
+ } & {
144
+ argsMemoize: typeof import("reselect").weakMapMemoize;
145
+ memoize: typeof import("reselect").weakMapMemoize;
146
+ };
147
+ export declare const selectorChartsInteractionItemIsDefined: ((state: ChartState) => boolean) & {
148
+ clearCache: () => void;
149
+ resultsCount: () => number;
150
+ resetResultsCount: () => void;
151
+ } & {
152
+ resultFunc: (resultFuncArgs_0: import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null) => boolean;
153
+ memoizedResultFunc: ((resultFuncArgs_0: import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null) => boolean) & {
154
+ clearCache: () => void;
155
+ resultsCount: () => number;
156
+ resetResultsCount: () => void;
157
+ };
158
+ lastResult: () => boolean;
159
+ dependencies: [((state: ChartState) => import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null) & {
160
+ clearCache: () => void;
161
+ resultsCount: () => number;
162
+ resetResultsCount: () => void;
163
+ } & {
164
+ resultFunc: (resultFuncArgs_0: {
165
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
166
+ axis: import("../internals/plugins/models").AxisInteractionData;
167
+ isVoronoiEnabled?: boolean;
168
+ }) => import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null;
169
+ memoizedResultFunc: ((resultFuncArgs_0: {
170
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
171
+ axis: import("../internals/plugins/models").AxisInteractionData;
172
+ isVoronoiEnabled?: boolean;
173
+ }) => import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null) & {
174
+ clearCache: () => void;
175
+ resultsCount: () => number;
176
+ resetResultsCount: () => void;
177
+ };
178
+ lastResult: () => import("..").BarItemIdentifier | import("..").ScatterItemIdentifier | import("..").LineItemIdentifier | import("..").PieItemIdentifier | null;
179
+ dependencies: [typeof selectInteraction];
180
+ recomputations: () => number;
181
+ resetRecomputations: () => void;
182
+ dependencyRecomputations: () => number;
183
+ resetDependencyRecomputations: () => void;
184
+ } & {
185
+ argsMemoize: typeof import("reselect").weakMapMemoize;
186
+ memoize: typeof import("reselect").weakMapMemoize;
187
+ }];
188
+ recomputations: () => number;
189
+ resetRecomputations: () => void;
190
+ dependencyRecomputations: () => number;
191
+ resetDependencyRecomputations: () => void;
192
+ } & {
193
+ argsMemoize: typeof import("reselect").weakMapMemoize;
194
+ memoize: typeof import("reselect").weakMapMemoize;
195
+ };
196
+ export declare const selectorChartsInteractionXAxisIsDefined: ((state: ChartState) => boolean) & {
197
+ clearCache: () => void;
198
+ resultsCount: () => number;
199
+ resetResultsCount: () => void;
200
+ } & {
201
+ resultFunc: (resultFuncArgs_0: {
202
+ value: number | Date | string;
203
+ index: number;
204
+ } | null) => boolean;
205
+ memoizedResultFunc: ((resultFuncArgs_0: {
206
+ value: number | Date | string;
207
+ index: number;
208
+ } | null) => boolean) & {
209
+ clearCache: () => void;
210
+ resultsCount: () => number;
211
+ resetResultsCount: () => void;
212
+ };
213
+ lastResult: () => boolean;
214
+ dependencies: [((state: ChartState) => {
215
+ value: number | Date | string;
216
+ index: number;
217
+ } | null) & {
218
+ clearCache: () => void;
219
+ resultsCount: () => number;
220
+ resetResultsCount: () => void;
221
+ } & {
222
+ resultFunc: (resultFuncArgs_0: {
223
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
224
+ axis: import("../internals/plugins/models").AxisInteractionData;
225
+ isVoronoiEnabled?: boolean;
226
+ }) => {
227
+ value: number | Date | string;
228
+ index: number;
229
+ } | null;
230
+ memoizedResultFunc: ((resultFuncArgs_0: {
231
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
232
+ axis: import("../internals/plugins/models").AxisInteractionData;
233
+ isVoronoiEnabled?: boolean;
234
+ }) => {
235
+ value: number | Date | string;
236
+ index: number;
237
+ } | null) & {
238
+ clearCache: () => void;
239
+ resultsCount: () => number;
240
+ resetResultsCount: () => void;
241
+ };
242
+ lastResult: () => {
243
+ value: number | Date | string;
244
+ index: number;
245
+ } | null;
246
+ dependencies: [typeof selectInteraction];
247
+ recomputations: () => number;
248
+ resetRecomputations: () => void;
249
+ dependencyRecomputations: () => number;
250
+ resetDependencyRecomputations: () => void;
251
+ } & {
252
+ argsMemoize: typeof import("reselect").weakMapMemoize;
253
+ memoize: typeof import("reselect").weakMapMemoize;
254
+ }];
255
+ recomputations: () => number;
256
+ resetRecomputations: () => void;
257
+ dependencyRecomputations: () => number;
258
+ resetDependencyRecomputations: () => void;
259
+ } & {
260
+ argsMemoize: typeof import("reselect").weakMapMemoize;
261
+ memoize: typeof import("reselect").weakMapMemoize;
262
+ };
263
+ export declare const selectorChartsInteractionYAxisIsDefined: ((state: ChartState) => boolean) & {
264
+ clearCache: () => void;
265
+ resultsCount: () => number;
266
+ resetResultsCount: () => void;
267
+ } & {
268
+ resultFunc: (resultFuncArgs_0: {
269
+ value: number | Date | string;
270
+ index: number;
271
+ } | null) => boolean;
272
+ memoizedResultFunc: ((resultFuncArgs_0: {
273
+ value: number | Date | string;
274
+ index: number;
275
+ } | null) => boolean) & {
276
+ clearCache: () => void;
277
+ resultsCount: () => number;
278
+ resetResultsCount: () => void;
279
+ };
280
+ lastResult: () => boolean;
281
+ dependencies: [((state: ChartState) => {
282
+ value: number | Date | string;
283
+ index: number;
284
+ } | null) & {
285
+ clearCache: () => void;
286
+ resultsCount: () => number;
287
+ resetResultsCount: () => void;
288
+ } & {
289
+ resultFunc: (resultFuncArgs_0: {
290
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
291
+ axis: import("../internals/plugins/models").AxisInteractionData;
292
+ isVoronoiEnabled?: boolean;
293
+ }) => {
294
+ value: number | Date | string;
295
+ index: number;
296
+ } | null;
297
+ memoizedResultFunc: ((resultFuncArgs_0: {
298
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
299
+ axis: import("../internals/plugins/models").AxisInteractionData;
300
+ isVoronoiEnabled?: boolean;
301
+ }) => {
302
+ value: number | Date | string;
303
+ index: number;
304
+ } | null) & {
305
+ clearCache: () => void;
306
+ resultsCount: () => number;
307
+ resetResultsCount: () => void;
308
+ };
309
+ lastResult: () => {
310
+ value: number | Date | string;
311
+ index: number;
312
+ } | null;
313
+ dependencies: [typeof selectInteraction];
314
+ recomputations: () => number;
315
+ resetRecomputations: () => void;
316
+ dependencyRecomputations: () => number;
317
+ resetDependencyRecomputations: () => void;
318
+ } & {
319
+ argsMemoize: typeof import("reselect").weakMapMemoize;
320
+ memoize: typeof import("reselect").weakMapMemoize;
321
+ }];
322
+ recomputations: () => number;
323
+ resetRecomputations: () => void;
324
+ dependencyRecomputations: () => number;
325
+ resetDependencyRecomputations: () => void;
326
+ } & {
327
+ argsMemoize: typeof import("reselect").weakMapMemoize;
328
+ memoize: typeof import("reselect").weakMapMemoize;
329
+ };
330
+ export declare const selectorChartsInteractionIsVoronoiEnabled: ((state: ChartState) => boolean | undefined) & {
331
+ clearCache: () => void;
332
+ resultsCount: () => number;
333
+ resetResultsCount: () => void;
334
+ } & {
335
+ resultFunc: (resultFuncArgs_0: {
336
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
337
+ axis: import("../internals/plugins/models").AxisInteractionData;
338
+ isVoronoiEnabled?: boolean;
339
+ }) => boolean | undefined;
340
+ memoizedResultFunc: ((resultFuncArgs_0: {
341
+ item: null | import("../internals/plugins/models").ItemInteractionData<import("../internals").ChartSeriesType>;
342
+ axis: import("../internals/plugins/models").AxisInteractionData;
343
+ isVoronoiEnabled?: boolean;
344
+ }) => boolean | undefined) & {
345
+ clearCache: () => void;
346
+ resultsCount: () => number;
347
+ resetResultsCount: () => void;
348
+ };
349
+ lastResult: () => boolean | undefined;
350
+ dependencies: [typeof selectInteraction];
351
+ recomputations: () => number;
352
+ resetRecomputations: () => void;
353
+ dependencyRecomputations: () => number;
354
+ resetDependencyRecomputations: () => void;
355
+ } & {
356
+ argsMemoize: typeof import("reselect").weakMapMemoize;
357
+ memoize: typeof import("reselect").weakMapMemoize;
358
+ };
359
+ export {};
@@ -0,0 +1,12 @@
1
+ import { createSelector } from "../internals/plugins/utils/selectors.js";
2
+ function selectInteraction(state) {
3
+ return state.interaction;
4
+ }
5
+ export const selectorChartsInteractionItem = createSelector(selectInteraction, interaction => interaction.item);
6
+ export const selectorChartsInteractionAxis = createSelector(selectInteraction, interaction => interaction.axis);
7
+ export const selectorChartsInteractionXAxis = createSelector(selectInteraction, interaction => interaction.axis.x);
8
+ export const selectorChartsInteractionYAxis = createSelector(selectInteraction, interaction => interaction.axis.y);
9
+ export const selectorChartsInteractionItemIsDefined = createSelector(selectorChartsInteractionItem, item => item !== null);
10
+ export const selectorChartsInteractionXAxisIsDefined = createSelector(selectorChartsInteractionXAxis, x => x !== null);
11
+ export const selectorChartsInteractionYAxisIsDefined = createSelector(selectorChartsInteractionYAxis, y => y !== null);
12
+ export const selectorChartsInteractionIsVoronoiEnabled = createSelector(selectInteraction, interaction => interaction.isVoronoiEnabled);
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ export interface SizeProviderProps {
3
+ /**
4
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
5
+ */
6
+ width?: number;
7
+ /**
8
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
9
+ */
10
+ height?: number;
11
+ children: React.ReactNode;
12
+ }
13
+ export interface SizeContextState extends Required<Pick<SizeProviderProps, 'height' | 'width'>> {
14
+ /**
15
+ * The ref of the container element that the chart is rendered in.
16
+ */
17
+ containerRef: React.RefObject<HTMLDivElement>;
18
+ /**
19
+ * If the chart has a defined size.
20
+ */
21
+ hasIntrinsicSize: boolean;
22
+ /**
23
+ * The input height of the chart in px.
24
+ */
25
+ inHeight?: number;
26
+ /**
27
+ * The input width of the chart in px.
28
+ */
29
+ inWidth?: number;
30
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import { Initializable } from '../context.types';
3
+ import { SizeContextState } from './Size.types';
4
+ export declare const SizeContext: React.Context<Initializable<SizeContextState>>;
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export const SizeContext = /*#__PURE__*/React.createContext({
3
+ isInitialized: false,
4
+ data: {
5
+ hasIntrinsicSize: false,
6
+ containerRef: null,
7
+ height: 0,
8
+ width: 0
9
+ }
10
+ });
11
+ if (process.env.NODE_ENV !== 'production') {
12
+ SizeContext.displayName = 'SizeContext';
13
+ }
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import { SizeProviderProps } from './Size.types';
3
+ /**
4
+ * The size provider.
5
+ *
6
+ * This differs from the DrawingProvider in that it provides the full size of the container.
7
+ *
8
+ * This provider is also responsible for resolving the size of the container before rendering and if the parent size changes.
9
+ */
10
+ declare function SizeProvider(props: SizeProviderProps): React.JSX.Element;
11
+ export { SizeProvider };