@mui/x-charts-pro 8.0.0-alpha.11 → 8.0.0-alpha.13

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 (323) hide show
  1. package/BarChartPro/BarChartPro.d.ts +3 -4
  2. package/BarChartPro/BarChartPro.js +245 -244
  3. package/BarChartPro/BarChartPro.plugins.d.ts +3 -9
  4. package/BarChartPro/BarChartPro.plugins.js +9 -3
  5. package/BarChartPro/index.d.ts +1 -1
  6. package/BarChartPro/index.js +16 -1
  7. package/CHANGELOG.md +460 -1
  8. package/ChartContainerPro/ChartContainerPro.d.ts +5 -5
  9. package/ChartContainerPro/ChartContainerPro.js +179 -173
  10. package/ChartContainerPro/index.d.ts +2 -1
  11. package/ChartContainerPro/index.js +17 -1
  12. package/ChartContainerPro/useChartContainerProProps.d.ts +3 -3
  13. package/ChartContainerPro/useChartContainerProProps.js +20 -11
  14. package/ChartDataProviderPro/ChartDataProviderPro.d.ts +4 -4
  15. package/ChartDataProviderPro/ChartDataProviderPro.js +37 -30
  16. package/ChartDataProviderPro/index.d.ts +2 -1
  17. package/ChartDataProviderPro/index.js +17 -1
  18. package/ChartDataProviderPro/useChartDataProviderProProps.d.ts +4 -4
  19. package/ChartDataProviderPro/useChartDataProviderProProps.js +10 -4
  20. package/Heatmap/Heatmap.d.ts +45 -44
  21. package/Heatmap/Heatmap.js +232 -241
  22. package/Heatmap/Heatmap.plugins.d.ts +2 -7
  23. package/Heatmap/Heatmap.plugins.js +8 -2
  24. package/Heatmap/HeatmapItem.d.ts +33 -33
  25. package/Heatmap/HeatmapItem.js +39 -32
  26. package/Heatmap/HeatmapPlot.d.ts +4 -5
  27. package/Heatmap/HeatmapPlot.js +22 -16
  28. package/Heatmap/HeatmapTooltip.d.ts +3 -4
  29. package/Heatmap/HeatmapTooltip.js +97 -89
  30. package/Heatmap/heatmapClasses.d.ts +7 -7
  31. package/Heatmap/heatmapClasses.js +15 -7
  32. package/Heatmap/index.d.ts +4 -4
  33. package/Heatmap/index.js +47 -4
  34. package/Heatmap/{extremums.d.ts → seriesConfig/extremums.d.ts} +1 -1
  35. package/Heatmap/{getColor.d.ts → seriesConfig/getColor.d.ts} +1 -1
  36. package/Heatmap/seriesConfig/index.d.ts +2 -0
  37. package/{node/Heatmap/plugin.js → Heatmap/seriesConfig/index.js} +4 -4
  38. package/Heatmap/seriesConfig/seriesProcessor.d.ts +3 -0
  39. package/{node/Heatmap/formatter.js → Heatmap/seriesConfig/seriesProcessor.js} +2 -2
  40. package/Heatmap/{tooltip.d.ts → seriesConfig/tooltip.d.ts} +1 -1
  41. package/LineChartPro/LineChartPro.d.ts +3 -4
  42. package/LineChartPro/LineChartPro.js +257 -256
  43. package/LineChartPro/LineChartPro.plugins.d.ts +3 -9
  44. package/LineChartPro/LineChartPro.plugins.js +9 -3
  45. package/LineChartPro/index.d.ts +1 -1
  46. package/LineChartPro/index.js +16 -1
  47. package/ScatterChartPro/ScatterChartPro.d.ts +4 -4
  48. package/ScatterChartPro/ScatterChartPro.js +234 -235
  49. package/ScatterChartPro/ScatterChartPro.plugins.d.ts +4 -10
  50. package/ScatterChartPro/ScatterChartPro.plugins.js +9 -3
  51. package/ScatterChartPro/index.d.ts +1 -1
  52. package/ScatterChartPro/index.js +16 -1
  53. package/esm/BarChartPro/BarChartPro.d.ts +17 -0
  54. package/esm/BarChartPro/BarChartPro.js +450 -0
  55. package/esm/BarChartPro/BarChartPro.plugins.d.ts +4 -0
  56. package/esm/BarChartPro/BarChartPro.plugins.js +3 -0
  57. package/esm/BarChartPro/index.d.ts +1 -0
  58. package/esm/BarChartPro/index.js +1 -0
  59. package/esm/ChartContainerPro/ChartContainerPro.d.ts +35 -0
  60. package/esm/ChartContainerPro/ChartContainerPro.js +290 -0
  61. package/esm/ChartContainerPro/index.d.ts +2 -0
  62. package/esm/ChartContainerPro/index.js +2 -0
  63. package/esm/ChartContainerPro/useChartContainerProProps.d.ts +9 -0
  64. package/esm/ChartContainerPro/useChartContainerProProps.js +35 -0
  65. package/esm/ChartDataProviderPro/ChartDataProviderPro.d.ts +37 -0
  66. package/{node → esm}/ChartDataProviderPro/ChartDataProviderPro.js +31 -36
  67. package/esm/ChartDataProviderPro/index.d.ts +2 -0
  68. package/esm/ChartDataProviderPro/index.js +2 -0
  69. package/esm/ChartDataProviderPro/useChartDataProviderProProps.d.ts +8 -0
  70. package/esm/ChartDataProviderPro/useChartDataProviderProProps.js +15 -0
  71. package/esm/Heatmap/Heatmap.d.ts +57 -0
  72. package/esm/Heatmap/Heatmap.js +387 -0
  73. package/esm/Heatmap/Heatmap.plugins.d.ts +3 -0
  74. package/esm/Heatmap/Heatmap.plugins.js +2 -0
  75. package/esm/Heatmap/HeatmapItem.d.ts +49 -0
  76. package/esm/Heatmap/HeatmapItem.js +106 -0
  77. package/esm/Heatmap/HeatmapPlot.d.ts +8 -0
  78. package/{node → esm}/Heatmap/HeatmapPlot.js +16 -22
  79. package/esm/Heatmap/HeatmapTooltip.d.ts +8 -0
  80. package/esm/Heatmap/HeatmapTooltip.js +276 -0
  81. package/esm/Heatmap/heatmapClasses.d.ts +11 -0
  82. package/esm/Heatmap/heatmapClasses.js +14 -0
  83. package/esm/Heatmap/index.d.ts +4 -0
  84. package/esm/Heatmap/index.js +4 -0
  85. package/esm/Heatmap/seriesConfig/extremums.d.ts +2 -0
  86. package/esm/Heatmap/seriesConfig/getColor.d.ts +3 -0
  87. package/esm/Heatmap/seriesConfig/index.d.ts +2 -0
  88. package/{Heatmap/plugin.js → esm/Heatmap/seriesConfig/index.js} +3 -3
  89. package/esm/Heatmap/seriesConfig/seriesProcessor.d.ts +3 -0
  90. package/{Heatmap/formatter.js → esm/Heatmap/seriesConfig/seriesProcessor.js} +2 -2
  91. package/esm/Heatmap/seriesConfig/tooltip.d.ts +3 -0
  92. package/esm/LineChartPro/LineChartPro.d.ts +16 -0
  93. package/esm/LineChartPro/LineChartPro.js +501 -0
  94. package/esm/LineChartPro/LineChartPro.plugins.d.ts +4 -0
  95. package/esm/LineChartPro/LineChartPro.plugins.js +3 -0
  96. package/esm/LineChartPro/index.d.ts +1 -0
  97. package/esm/LineChartPro/index.js +1 -0
  98. package/esm/ScatterChartPro/ScatterChartPro.d.ts +17 -0
  99. package/esm/ScatterChartPro/ScatterChartPro.js +395 -0
  100. package/esm/ScatterChartPro/ScatterChartPro.plugins.d.ts +4 -0
  101. package/esm/ScatterChartPro/ScatterChartPro.plugins.js +3 -0
  102. package/esm/ScatterChartPro/index.d.ts +1 -0
  103. package/esm/ScatterChartPro/index.js +1 -0
  104. package/esm/hooks/index.d.ts +2 -0
  105. package/esm/hooks/index.js +2 -0
  106. package/esm/hooks/useHeatmapSeries.d.ts +33 -0
  107. package/esm/hooks/useHeatmapSeries.js +42 -0
  108. package/esm/hooks/zoom/index.d.ts +1 -0
  109. package/esm/hooks/zoom/index.js +1 -0
  110. package/esm/hooks/zoom/useIsZoomInteracting.d.ts +6 -0
  111. package/esm/hooks/zoom/useIsZoomInteracting.js +14 -0
  112. package/esm/index.d.ts +32 -0
  113. package/esm/index.js +43 -0
  114. package/esm/internals/plugins/allPlugins.d.ts +5 -0
  115. package/esm/internals/plugins/allPlugins.js +5 -0
  116. package/esm/internals/plugins/useChartProZoom/index.d.ts +3 -0
  117. package/esm/internals/plugins/useChartProZoom/index.js +3 -0
  118. package/esm/internals/plugins/useChartProZoom/useChartProZoom.d.ts +3 -0
  119. package/{node → esm}/internals/plugins/useChartProZoom/useChartProZoom.js +94 -54
  120. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +203 -0
  121. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +4 -0
  122. package/esm/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +53 -0
  123. package/esm/internals/plugins/useChartProZoom/useChartProZoom.utils.d.ts +45 -0
  124. package/{node → esm}/internals/plugins/useChartProZoom/useChartProZoom.utils.js +8 -22
  125. package/esm/internals/utils/releaseInfo.d.ts +1 -0
  126. package/esm/internals/utils/releaseInfo.js +13 -0
  127. package/esm/models/index.d.ts +2 -0
  128. package/esm/models/index.js +2 -0
  129. package/esm/models/seriesType/heatmap.d.ts +28 -0
  130. package/esm/models/seriesType/index.d.ts +1 -0
  131. package/esm/models/seriesType/index.js +1 -0
  132. package/esm/package.json +1 -0
  133. package/esm/themeAugmentation/components.d.ts +23 -0
  134. package/esm/themeAugmentation/index.d.ts +4 -0
  135. package/esm/themeAugmentation/index.js +0 -0
  136. package/esm/themeAugmentation/overrides.d.ts +11 -0
  137. package/esm/themeAugmentation/props.d.ts +20 -0
  138. package/esm/typeOverloads/index.d.ts +1 -0
  139. package/esm/typeOverloads/index.js +1 -0
  140. package/esm/typeOverloads/modules.d.ts +22 -0
  141. package/esm/typeOverloads/modules.js +1 -0
  142. package/hooks/index.d.ts +2 -2
  143. package/hooks/index.js +27 -2
  144. package/hooks/useHeatmapSeries.d.ts +33 -0
  145. package/hooks/useHeatmapSeries.js +48 -0
  146. package/hooks/zoom/index.d.ts +1 -1
  147. package/hooks/zoom/index.js +16 -1
  148. package/hooks/zoom/useIsZoomInteracting.d.ts +1 -1
  149. package/hooks/zoom/useIsZoomInteracting.js +10 -5
  150. package/index.d.ts +8 -7
  151. package/index.js +347 -36
  152. package/internals/plugins/allPlugins.d.ts +3 -9
  153. package/internals/plugins/allPlugins.js +9 -3
  154. package/internals/plugins/useChartProZoom/index.d.ts +3 -3
  155. package/internals/plugins/useChartProZoom/index.js +38 -3
  156. package/internals/plugins/useChartProZoom/useChartProZoom.d.ts +2 -2
  157. package/internals/plugins/useChartProZoom/useChartProZoom.js +101 -47
  158. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +154 -328
  159. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +11 -10
  160. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +42 -39
  161. package/internals/plugins/useChartProZoom/useChartProZoom.types.js +5 -1
  162. package/internals/plugins/useChartProZoom/useChartProZoom.utils.d.ts +13 -13
  163. package/internals/plugins/useChartProZoom/useChartProZoom.utils.js +22 -8
  164. package/internals/utils/releaseInfo.d.ts +1 -1
  165. package/internals/utils/releaseInfo.js +13 -5
  166. package/models/index.d.ts +1 -1
  167. package/models/index.js +16 -2
  168. package/models/seriesType/heatmap.d.ts +18 -19
  169. package/models/seriesType/heatmap.js +5 -1
  170. package/models/seriesType/index.d.ts +1 -1
  171. package/models/seriesType/index.js +16 -1
  172. package/modern/BarChartPro/BarChartPro.d.ts +17 -0
  173. package/modern/BarChartPro/BarChartPro.js +25 -30
  174. package/modern/BarChartPro/BarChartPro.plugins.d.ts +4 -0
  175. package/modern/BarChartPro/index.d.ts +1 -0
  176. package/modern/ChartContainerPro/ChartContainerPro.d.ts +35 -0
  177. package/modern/ChartContainerPro/ChartContainerPro.js +1 -1
  178. package/modern/ChartContainerPro/index.d.ts +2 -0
  179. package/modern/ChartContainerPro/index.js +1 -0
  180. package/modern/ChartContainerPro/useChartContainerProProps.d.ts +9 -0
  181. package/modern/ChartContainerPro/useChartContainerProProps.js +3 -1
  182. package/modern/ChartDataProviderPro/ChartDataProviderPro.d.ts +37 -0
  183. package/modern/ChartDataProviderPro/ChartDataProviderPro.js +3 -2
  184. package/modern/ChartDataProviderPro/index.d.ts +2 -0
  185. package/modern/ChartDataProviderPro/index.js +1 -0
  186. package/modern/ChartDataProviderPro/useChartDataProviderProProps.d.ts +8 -0
  187. package/modern/Heatmap/Heatmap.d.ts +57 -0
  188. package/modern/Heatmap/Heatmap.js +39 -54
  189. package/modern/Heatmap/Heatmap.plugins.d.ts +3 -0
  190. package/modern/Heatmap/HeatmapItem.d.ts +49 -0
  191. package/modern/Heatmap/HeatmapPlot.d.ts +8 -0
  192. package/modern/Heatmap/HeatmapPlot.js +2 -2
  193. package/modern/Heatmap/HeatmapTooltip.d.ts +8 -0
  194. package/modern/Heatmap/HeatmapTooltip.js +6 -4
  195. package/modern/Heatmap/heatmapClasses.d.ts +11 -0
  196. package/modern/Heatmap/index.d.ts +4 -0
  197. package/modern/Heatmap/seriesConfig/extremums.d.ts +2 -0
  198. package/modern/Heatmap/seriesConfig/getColor.d.ts +3 -0
  199. package/modern/Heatmap/seriesConfig/index.d.ts +2 -0
  200. package/modern/Heatmap/{plugin.js → seriesConfig/index.js} +3 -3
  201. package/modern/Heatmap/seriesConfig/seriesProcessor.d.ts +3 -0
  202. package/modern/Heatmap/{formatter.js → seriesConfig/seriesProcessor.js} +2 -2
  203. package/modern/Heatmap/seriesConfig/tooltip.d.ts +3 -0
  204. package/modern/LineChartPro/LineChartPro.d.ts +16 -0
  205. package/modern/LineChartPro/LineChartPro.js +25 -30
  206. package/modern/LineChartPro/LineChartPro.plugins.d.ts +4 -0
  207. package/modern/LineChartPro/index.d.ts +1 -0
  208. package/modern/ScatterChartPro/ScatterChartPro.d.ts +17 -0
  209. package/modern/ScatterChartPro/ScatterChartPro.js +26 -33
  210. package/modern/ScatterChartPro/ScatterChartPro.plugins.d.ts +4 -0
  211. package/modern/ScatterChartPro/ScatterChartPro.plugins.js +2 -2
  212. package/modern/ScatterChartPro/index.d.ts +1 -0
  213. package/modern/hooks/index.d.ts +2 -0
  214. package/modern/hooks/index.js +1 -1
  215. package/modern/hooks/useHeatmapSeries.d.ts +33 -0
  216. package/modern/hooks/useHeatmapSeries.js +42 -0
  217. package/modern/hooks/zoom/index.d.ts +1 -0
  218. package/modern/hooks/zoom/useIsZoomInteracting.d.ts +6 -0
  219. package/modern/index.d.ts +32 -0
  220. package/modern/index.js +2 -2
  221. package/modern/internals/plugins/allPlugins.d.ts +5 -0
  222. package/modern/internals/plugins/useChartProZoom/index.d.ts +3 -0
  223. package/modern/internals/plugins/useChartProZoom/useChartProZoom.d.ts +3 -0
  224. package/modern/internals/plugins/useChartProZoom/useChartProZoom.js +65 -18
  225. package/modern/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +203 -0
  226. package/modern/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +1 -7
  227. package/modern/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +53 -0
  228. package/modern/internals/plugins/useChartProZoom/useChartProZoom.utils.d.ts +45 -0
  229. package/modern/internals/utils/releaseInfo.d.ts +1 -0
  230. package/modern/internals/utils/releaseInfo.js +1 -1
  231. package/modern/models/index.d.ts +2 -0
  232. package/modern/models/seriesType/heatmap.d.ts +28 -0
  233. package/modern/models/seriesType/index.d.ts +1 -0
  234. package/modern/package.json +1 -0
  235. package/modern/themeAugmentation/components.d.ts +23 -0
  236. package/modern/themeAugmentation/index.d.ts +4 -0
  237. package/modern/themeAugmentation/overrides.d.ts +11 -0
  238. package/modern/themeAugmentation/props.d.ts +20 -0
  239. package/modern/typeOverloads/index.d.ts +1 -0
  240. package/modern/typeOverloads/modules.d.ts +22 -0
  241. package/package.json +41 -11
  242. package/themeAugmentation/components.d.ts +1 -3
  243. package/themeAugmentation/index.d.ts +1 -1
  244. package/themeAugmentation/index.js +1 -0
  245. package/themeAugmentation/overrides.d.ts +2 -4
  246. package/themeAugmentation/props.d.ts +5 -7
  247. package/tsconfig.build.tsbuildinfo +1 -0
  248. package/typeOverloads/index.d.ts +1 -1
  249. package/typeOverloads/index.js +6 -1
  250. package/typeOverloads/modules.d.ts +20 -23
  251. package/typeOverloads/modules.js +5 -1
  252. package/BarChartPro/package.json +0 -6
  253. package/ChartContainerPro/package.json +0 -6
  254. package/ChartDataProviderPro/package.json +0 -6
  255. package/Heatmap/formatter.d.ts +0 -3
  256. package/Heatmap/package.json +0 -6
  257. package/Heatmap/plugin.d.ts +0 -2
  258. package/LineChartPro/package.json +0 -6
  259. package/ScatterChartPro/package.json +0 -6
  260. package/hooks/package.json +0 -6
  261. package/hooks/useSeries.d.ts +0 -9
  262. package/hooks/useSeries.js +0 -16
  263. package/internals/plugins/useChartProZoom/creatZoomLookup.d.ts +0 -3
  264. package/internals/plugins/useChartProZoom/creatZoomLookup.js +0 -12
  265. package/internals/plugins/useChartProZoom/defaultizeZoom.d.ts +0 -2
  266. package/internals/plugins/useChartProZoom/defaultizeZoom.js +0 -25
  267. package/internals/plugins/useChartProZoom/zoom.types.d.ts +0 -53
  268. package/models/package.json +0 -6
  269. package/modern/hooks/useSeries.js +0 -16
  270. package/modern/internals/plugins/useChartProZoom/creatZoomLookup.js +0 -12
  271. package/modern/internals/plugins/useChartProZoom/defaultizeZoom.js +0 -25
  272. package/node/BarChartPro/BarChartPro.js +0 -461
  273. package/node/BarChartPro/BarChartPro.plugins.js +0 -9
  274. package/node/BarChartPro/index.js +0 -16
  275. package/node/ChartContainerPro/ChartContainerPro.js +0 -296
  276. package/node/ChartContainerPro/index.js +0 -16
  277. package/node/ChartContainerPro/useChartContainerProProps.js +0 -40
  278. package/node/ChartDataProviderPro/index.js +0 -16
  279. package/node/ChartDataProviderPro/useChartDataProviderProProps.js +0 -21
  280. package/node/Heatmap/Heatmap.js +0 -408
  281. package/node/Heatmap/Heatmap.plugins.js +0 -8
  282. package/node/Heatmap/HeatmapItem.js +0 -113
  283. package/node/Heatmap/HeatmapTooltip.js +0 -280
  284. package/node/Heatmap/heatmapClasses.js +0 -22
  285. package/node/Heatmap/index.js +0 -47
  286. package/node/LineChartPro/LineChartPro.js +0 -512
  287. package/node/LineChartPro/LineChartPro.plugins.js +0 -9
  288. package/node/LineChartPro/index.js +0 -16
  289. package/node/ScatterChartPro/ScatterChartPro.js +0 -408
  290. package/node/ScatterChartPro/ScatterChartPro.plugins.js +0 -9
  291. package/node/ScatterChartPro/index.js +0 -16
  292. package/node/hooks/index.js +0 -27
  293. package/node/hooks/useSeries.js +0 -21
  294. package/node/hooks/zoom/index.js +0 -16
  295. package/node/hooks/zoom/useIsZoomInteracting.js +0 -19
  296. package/node/index.js +0 -354
  297. package/node/internals/plugins/allPlugins.js +0 -11
  298. package/node/internals/plugins/useChartProZoom/creatZoomLookup.js +0 -19
  299. package/node/internals/plugins/useChartProZoom/defaultizeZoom.js +0 -33
  300. package/node/internals/plugins/useChartProZoom/index.js +0 -38
  301. package/node/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +0 -18
  302. package/node/internals/plugins/useChartProZoom/useChartProZoom.types.js +0 -5
  303. package/node/internals/plugins/useChartProZoom/zoom.types.js +0 -5
  304. package/node/internals/utils/releaseInfo.js +0 -21
  305. package/node/models/index.js +0 -16
  306. package/node/models/seriesType/heatmap.js +0 -5
  307. package/node/models/seriesType/index.js +0 -16
  308. package/node/themeAugmentation/index.js +0 -1
  309. package/node/typeOverloads/index.js +0 -6
  310. package/node/typeOverloads/modules.js +0 -5
  311. package/themeAugmentation/package.json +0 -6
  312. package/typeOverloads/package.json +0 -6
  313. /package/{node/Heatmap → Heatmap/seriesConfig}/extremums.js +0 -0
  314. /package/{node/Heatmap → Heatmap/seriesConfig}/getColor.js +0 -0
  315. /package/{node/Heatmap → Heatmap/seriesConfig}/tooltip.js +0 -0
  316. /package/{Heatmap → esm/Heatmap/seriesConfig}/extremums.js +0 -0
  317. /package/{Heatmap → esm/Heatmap/seriesConfig}/getColor.js +0 -0
  318. /package/{Heatmap → esm/Heatmap/seriesConfig}/tooltip.js +0 -0
  319. /package/{internals/plugins/useChartProZoom/zoom.types.js → esm/internals/plugins/useChartProZoom/useChartProZoom.types.js} +0 -0
  320. /package/{modern/internals/plugins/useChartProZoom/zoom.types.js → esm/models/seriesType/heatmap.js} +0 -0
  321. /package/modern/Heatmap/{extremums.js → seriesConfig/extremums.js} +0 -0
  322. /package/modern/Heatmap/{getColor.js → seriesConfig/getColor.js} +0 -0
  323. /package/modern/Heatmap/{tooltip.js → seriesConfig/tooltip.js} +0 -0
@@ -1,18 +1,11 @@
1
- "use strict";
2
1
  'use client';
3
2
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
- Object.defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.useChartProZoom = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var React = _interopRequireWildcard(require("react"));
12
- var _internals = require("@mui/x-charts/internals");
13
- var _creatZoomLookup = require("./creatZoomLookup");
14
- var _useChartProZoom = require("./useChartProZoom.utils");
15
- var _useChartProZoom2 = require("./useChartProZoom.selectors");
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import * as React from 'react';
5
+ import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
6
+ import { useSelector, getSVGPoint, selectorChartDrawingArea, createZoomLookup, selectorChartZoomOptionsLookup } from '@mui/x-charts/internals';
7
+ import { getDiff, getHorizontalCenterRatio, getPinchScaleRatio, getVerticalCenterRatio, getWheelScaleRatio, isSpanValid, preventDefault, zoomAtPoint } from "./useChartProZoom.utils.js";
8
+
16
9
  // It is helpful to avoid the need to provide the possibly auto-generated id for each axis.
17
10
  function initializeZoomData(options) {
18
11
  return Object.values(options).map(({
@@ -25,39 +18,79 @@ function initializeZoomData(options) {
25
18
  end
26
19
  }));
27
20
  }
28
- const useChartProZoom = ({
21
+ export const useChartProZoom = ({
29
22
  store,
30
23
  instance,
31
24
  svgRef,
32
25
  params
33
26
  }) => {
34
- const drawingArea = (0, _internals.useSelector)(store, _internals.selectorChartDrawingArea);
35
- const optionsLookup = (0, _internals.useSelector)(store, _useChartProZoom2.selectorChartZoomOptionsLookup);
27
+ const {
28
+ zoomData: paramsZoomData,
29
+ onZoomChange
30
+ } = params;
31
+ const drawingArea = useSelector(store, selectorChartDrawingArea);
32
+ const optionsLookup = useSelector(store, selectorChartZoomOptionsLookup);
36
33
  const isZoomEnabled = Object.keys(optionsLookup).length > 0;
37
34
 
38
- // Add events
39
- const panningEventCacheRef = React.useRef([]);
40
- const zoomEventCacheRef = React.useRef([]);
41
- const eventPrevDiff = React.useRef(0);
42
- const interactionTimeoutRef = React.useRef(undefined);
35
+ // Manage controlled state
36
+
37
+ useEnhancedEffect(() => {
38
+ if (paramsZoomData === undefined) {
39
+ return undefined;
40
+ }
41
+ store.update(prevState => {
42
+ if (process.env.NODE_ENV !== 'production' && !prevState.zoom.isControlled) {
43
+ console.error([`MUI X: A chart component is changing the \`zoomData\` from uncontrolled to controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', 'Decide between using a controlled or uncontrolled for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
44
+ }
45
+ return _extends({}, prevState, {
46
+ zoom: _extends({}, prevState.zoom, {
47
+ isInteracting: true,
48
+ zoomData: paramsZoomData
49
+ })
50
+ });
51
+ });
52
+ const timeout = setTimeout(() => {
53
+ store.update(prevState => {
54
+ return _extends({}, prevState, {
55
+ zoom: _extends({}, prevState.zoom, {
56
+ isInteracting: false
57
+ })
58
+ });
59
+ });
60
+ }, 166);
61
+ return () => {
62
+ clearTimeout(timeout);
63
+ };
64
+ }, [store, paramsZoomData]);
65
+
66
+ // Add instance methods
43
67
  const setIsInteracting = React.useCallback(isInteracting => {
44
- store.update(prev => (0, _extends2.default)({}, prev, {
45
- zoom: (0, _extends2.default)({}, prev.zoom, {
68
+ store.update(prev => _extends({}, prev, {
69
+ zoom: _extends({}, prev.zoom, {
46
70
  isInteracting
47
71
  })
48
72
  }));
49
73
  }, [store]);
50
74
  const setZoomDataCallback = React.useCallback(zoomData => {
51
75
  store.update(prevState => {
52
- const newZoomData = typeof zoomData === 'function' ? zoomData(prevState.zoom.zoomData) : zoomData;
53
- params.onZoomChange?.(newZoomData);
54
- return (0, _extends2.default)({}, prevState, {
55
- zoom: (0, _extends2.default)({}, prevState.zoom, {
76
+ const newZoomData = typeof zoomData === 'function' ? zoomData([...prevState.zoom.zoomData]) : zoomData;
77
+ onZoomChange?.(newZoomData);
78
+ if (prevState.zoom.isControlled) {
79
+ return prevState;
80
+ }
81
+ return _extends({}, prevState, {
82
+ zoom: _extends({}, prevState.zoom, {
56
83
  zoomData: newZoomData
57
84
  })
58
85
  });
59
86
  });
60
- }, [params, store]);
87
+ }, [onZoomChange, store]);
88
+
89
+ // Add events
90
+ const panningEventCacheRef = React.useRef([]);
91
+ const zoomEventCacheRef = React.useRef([]);
92
+ const eventPrevDiff = React.useRef(0);
93
+ const interactionTimeoutRef = React.useRef(undefined);
61
94
 
62
95
  // Add event for chart panning
63
96
  const isPanEnabled = React.useMemo(() => Object.values(optionsLookup).some(v => v.panning) || false, [optionsLookup]);
@@ -75,7 +108,7 @@ const useChartProZoom = ({
75
108
  if (touchStartRef.current == null) {
76
109
  return;
77
110
  }
78
- const point = (0, _internals.getSVGPoint)(element, event);
111
+ const point = getSVGPoint(element, event);
79
112
  const movementX = point.x - touchStartRef.current.x;
80
113
  const movementY = (point.y - touchStartRef.current.y) * -1;
81
114
  const newZoomData = touchStartRef.current.zoomData.map(zoom => {
@@ -103,7 +136,7 @@ const useChartProZoom = ({
103
136
  if (newMinPercent < MIN_PERCENT || newMaxPercent > MAX_PERCENT || span < options.minSpan || span > options.maxSpan) {
104
137
  return zoom;
105
138
  }
106
- return (0, _extends2.default)({}, zoom, {
139
+ return _extends({}, zoom, {
107
140
  start: newMinPercent,
108
141
  end: newMaxPercent
109
142
  });
@@ -112,7 +145,7 @@ const useChartProZoom = ({
112
145
  };
113
146
  const handleDown = event => {
114
147
  panningEventCacheRef.current.push(event);
115
- const point = (0, _internals.getSVGPoint)(element, event);
148
+ const point = getSVGPoint(element, event);
116
149
  if (!instance.isPointInside(point)) {
117
150
  return;
118
151
  }
@@ -158,7 +191,7 @@ const useChartProZoom = ({
158
191
  if (element === null) {
159
192
  return;
160
193
  }
161
- const point = (0, _internals.getSVGPoint)(element, event);
194
+ const point = getSVGPoint(element, event);
162
195
  if (!instance.isPointInside(point)) {
163
196
  return;
164
197
  }
@@ -178,13 +211,13 @@ const useChartProZoom = ({
178
211
  if (!option) {
179
212
  return zoom;
180
213
  }
181
- const centerRatio = option.axisDirection === 'x' ? (0, _useChartProZoom.getHorizontalCenterRatio)(point, drawingArea) : (0, _useChartProZoom.getVerticalCenterRatio)(point, drawingArea);
214
+ const centerRatio = option.axisDirection === 'x' ? getHorizontalCenterRatio(point, drawingArea) : getVerticalCenterRatio(point, drawingArea);
182
215
  const {
183
216
  scaleRatio,
184
217
  isZoomIn
185
- } = (0, _useChartProZoom.getWheelScaleRatio)(event, option.step);
186
- const [newMinRange, newMaxRange] = (0, _useChartProZoom.zoomAtPoint)(centerRatio, scaleRatio, zoom, option);
187
- if (!(0, _useChartProZoom.isSpanValid)(newMinRange, newMaxRange, isZoomIn, option)) {
218
+ } = getWheelScaleRatio(event, option.step);
219
+ const [newMinRange, newMaxRange] = zoomAtPoint(centerRatio, scaleRatio, zoom, option);
220
+ if (!isSpanValid(newMinRange, newMaxRange, isZoomIn, option)) {
188
221
  return zoom;
189
222
  }
190
223
  return {
@@ -211,7 +244,7 @@ const useChartProZoom = ({
211
244
  return;
212
245
  }
213
246
  const firstEvent = zoomEventCacheRef.current[0];
214
- const curDiff = (0, _useChartProZoom.getDiff)(zoomEventCacheRef.current);
247
+ const curDiff = getDiff(zoomEventCacheRef.current);
215
248
  setZoomDataCallback(prevZoomData => {
216
249
  const newZoomData = prevZoomData.map(zoom => {
217
250
  const option = optionsLookup[zoom.axisId];
@@ -221,16 +254,16 @@ const useChartProZoom = ({
221
254
  const {
222
255
  scaleRatio,
223
256
  isZoomIn
224
- } = (0, _useChartProZoom.getPinchScaleRatio)(curDiff, eventPrevDiff.current, option.step);
257
+ } = getPinchScaleRatio(curDiff, eventPrevDiff.current, option.step);
225
258
 
226
259
  // If the scale ratio is 0, it means the pinch gesture is not valid.
227
260
  if (scaleRatio === 0) {
228
261
  return zoom;
229
262
  }
230
- const point = (0, _internals.getSVGPoint)(element, firstEvent);
231
- const centerRatio = option.axisDirection === 'x' ? (0, _useChartProZoom.getHorizontalCenterRatio)(point, drawingArea) : (0, _useChartProZoom.getVerticalCenterRatio)(point, drawingArea);
232
- const [newMinRange, newMaxRange] = (0, _useChartProZoom.zoomAtPoint)(centerRatio, scaleRatio, zoom, option);
233
- if (!(0, _useChartProZoom.isSpanValid)(newMinRange, newMaxRange, isZoomIn, option)) {
263
+ const point = getSVGPoint(element, firstEvent);
264
+ const centerRatio = option.axisDirection === 'x' ? getHorizontalCenterRatio(point, drawingArea) : getVerticalCenterRatio(point, drawingArea);
265
+ const [newMinRange, newMaxRange] = zoomAtPoint(centerRatio, scaleRatio, zoom, option);
266
+ if (!isSpanValid(newMinRange, newMaxRange, isZoomIn, option)) {
234
267
  return zoom;
235
268
  }
236
269
  return {
@@ -261,8 +294,8 @@ const useChartProZoom = ({
261
294
  element.addEventListener('pointerleave', pointerUpHandler);
262
295
 
263
296
  // Prevent zooming the entire page on touch devices
264
- element.addEventListener('touchstart', _useChartProZoom.preventDefault);
265
- element.addEventListener('touchmove', _useChartProZoom.preventDefault);
297
+ element.addEventListener('touchstart', preventDefault);
298
+ element.addEventListener('touchmove', preventDefault);
266
299
  return () => {
267
300
  element.removeEventListener('wheel', wheelHandler);
268
301
  element.removeEventListener('pointerdown', pointerDownHandler);
@@ -271,8 +304,8 @@ const useChartProZoom = ({
271
304
  element.removeEventListener('pointercancel', pointerUpHandler);
272
305
  element.removeEventListener('pointerout', pointerUpHandler);
273
306
  element.removeEventListener('pointerleave', pointerUpHandler);
274
- element.removeEventListener('touchstart', _useChartProZoom.preventDefault);
275
- element.removeEventListener('touchmove', _useChartProZoom.preventDefault);
307
+ element.removeEventListener('touchstart', preventDefault);
308
+ element.removeEventListener('touchmove', preventDefault);
276
309
  if (interactionTimeoutRef.current) {
277
310
  clearTimeout(interactionTimeoutRef.current);
278
311
  }
@@ -287,24 +320,31 @@ const useChartProZoom = ({
287
320
  }
288
321
  };
289
322
  };
290
- exports.useChartProZoom = useChartProZoom;
291
323
  useChartProZoom.params = {
292
324
  initialZoom: true,
293
- onZoomChange: true
325
+ onZoomChange: true,
326
+ zoomData: true
294
327
  };
295
328
  useChartProZoom.getDefaultizedParams = ({
296
329
  params
297
330
  }) => {
298
- const optionsLookup = (0, _extends2.default)({}, (0, _creatZoomLookup.creatZoomLookup)('x')(params.defaultizedXAxis), (0, _creatZoomLookup.creatZoomLookup)('y')(params.defaultizedYAxis));
299
- return (0, _extends2.default)({}, params, {
300
- optionsLookup
301
- });
331
+ return _extends({}, params);
302
332
  };
303
333
  useChartProZoom.getInitialState = params => {
334
+ const {
335
+ initialZoom,
336
+ zoomData,
337
+ defaultizedXAxis,
338
+ defaultizedYAxis
339
+ } = params;
340
+ const optionsLookup = _extends({}, createZoomLookup('x')(defaultizedXAxis), createZoomLookup('y')(defaultizedYAxis));
304
341
  return {
305
342
  zoom: {
306
- zoomData: params.initialZoom === undefined ? initializeZoomData(params.optionsLookup) : params.initialZoom,
307
- isInteracting: false
343
+ zoomData:
344
+ // eslint-disable-next-line no-nested-ternary
345
+ zoomData !== undefined ? zoomData : initialZoom !== undefined ? initialZoom : initializeZoomData(optionsLookup),
346
+ isInteracting: false,
347
+ isControlled: zoomData !== undefined
308
348
  }
309
349
  };
310
350
  };
@@ -0,0 +1,203 @@
1
+ import { ChartRootSelector } from '@mui/x-charts/internals';
2
+ import { UseChartProZoomSignature } from "./useChartProZoom.types.js";
3
+ export declare const selectorChartZoomState: ChartRootSelector<UseChartProZoomSignature>;
4
+ export declare const selectorChartZoomIsInteracting: ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("./useChartProZoom.types").UseChartProZoomState & Partial<{}> & {
5
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
6
+ }) => boolean) & {
7
+ clearCache: () => void;
8
+ resultsCount: () => number;
9
+ resetResultsCount: () => void;
10
+ } & {
11
+ resultFunc: (resultFuncArgs_0: {
12
+ isInteracting: boolean;
13
+ zoomData: readonly import("@mui/x-charts/internals").ZoomData[];
14
+ isControlled: boolean;
15
+ }) => boolean;
16
+ memoizedResultFunc: ((resultFuncArgs_0: {
17
+ isInteracting: boolean;
18
+ zoomData: readonly import("@mui/x-charts/internals").ZoomData[];
19
+ isControlled: boolean;
20
+ }) => boolean) & {
21
+ clearCache: () => void;
22
+ resultsCount: () => number;
23
+ resetResultsCount: () => void;
24
+ };
25
+ lastResult: () => boolean;
26
+ dependencies: [ChartRootSelector<UseChartProZoomSignature>];
27
+ recomputations: () => number;
28
+ resetRecomputations: () => void;
29
+ dependencyRecomputations: () => number;
30
+ resetDependencyRecomputations: () => void;
31
+ } & {
32
+ argsMemoize: typeof import("reselect").weakMapMemoize;
33
+ memoize: typeof import("reselect").weakMapMemoize;
34
+ };
35
+ export declare const selectorChartZoomIsEnabled: ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
36
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
37
+ }) => boolean) & {
38
+ clearCache: () => void;
39
+ resultsCount: () => number;
40
+ resetResultsCount: () => void;
41
+ } & {
42
+ resultFunc: (resultFuncArgs_0: {
43
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
44
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
45
+ }) => boolean;
46
+ memoizedResultFunc: ((resultFuncArgs_0: {
47
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
48
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
49
+ }) => boolean) & {
50
+ clearCache: () => void;
51
+ resultsCount: () => number;
52
+ resetResultsCount: () => void;
53
+ };
54
+ lastResult: () => boolean;
55
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
56
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
57
+ }) => {
58
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
59
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
60
+ }) & {
61
+ clearCache: () => void;
62
+ resultsCount: () => number;
63
+ resetResultsCount: () => void;
64
+ } & {
65
+ resultFunc: (resultFuncArgs_0: Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>, resultFuncArgs_1: Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) => {
66
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
67
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
68
+ };
69
+ memoizedResultFunc: ((resultFuncArgs_0: Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>, resultFuncArgs_1: Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) => {
70
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
71
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
72
+ }) & {
73
+ clearCache: () => void;
74
+ resultsCount: () => number;
75
+ resetResultsCount: () => void;
76
+ };
77
+ lastResult: () => {
78
+ [x: string]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
79
+ [x: number]: import("@mui/x-charts/internals").DefaultizedZoomOptions;
80
+ };
81
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
82
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
83
+ }) => Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
84
+ clearCache: () => void;
85
+ resultsCount: () => number;
86
+ resetResultsCount: () => void;
87
+ } & {
88
+ resultFunc: (resultFuncArgs_0: import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsXAxisProps>[] | undefined) => Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
89
+ memoizedResultFunc: ((resultFuncArgs_0: import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsXAxisProps>[] | undefined) => Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
90
+ clearCache: () => void;
91
+ resultsCount: () => number;
92
+ resetResultsCount: () => void;
93
+ };
94
+ lastResult: () => Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
95
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
96
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
97
+ }) => import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsXAxisProps>[] | undefined) & {
98
+ clearCache: () => void;
99
+ resultsCount: () => number;
100
+ resetResultsCount: () => void;
101
+ } & {
102
+ resultFunc: (resultFuncArgs_0: {
103
+ x: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsXAxisProps>[];
104
+ y: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsYAxisProps>[];
105
+ } | undefined) => import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsXAxisProps>[] | undefined;
106
+ memoizedResultFunc: ((resultFuncArgs_0: {
107
+ x: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsXAxisProps>[];
108
+ y: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsYAxisProps>[];
109
+ } | undefined) => import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsXAxisProps>[] | undefined) & {
110
+ clearCache: () => void;
111
+ resultsCount: () => number;
112
+ resetResultsCount: () => void;
113
+ };
114
+ lastResult: () => import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsXAxisProps>[] | undefined;
115
+ dependencies: [(state: import("@mui/x-charts/internals").ChartState<[], [import("@mui/x-charts/internals").UseChartCartesianAxisSignature]>) => {
116
+ x: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsXAxisProps>[];
117
+ y: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsYAxisProps>[];
118
+ } | undefined];
119
+ recomputations: () => number;
120
+ resetRecomputations: () => void;
121
+ dependencyRecomputations: () => number;
122
+ resetDependencyRecomputations: () => void;
123
+ } & {
124
+ memoize: typeof import("reselect").weakMapMemoize;
125
+ argsMemoize: typeof import("reselect").weakMapMemoize;
126
+ }];
127
+ recomputations: () => number;
128
+ resetRecomputations: () => void;
129
+ dependencyRecomputations: () => number;
130
+ resetDependencyRecomputations: () => void;
131
+ } & {
132
+ memoize: typeof import("reselect").weakMapMemoize;
133
+ argsMemoize: typeof import("reselect").weakMapMemoize;
134
+ }, ((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
135
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
136
+ }) => Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
137
+ clearCache: () => void;
138
+ resultsCount: () => number;
139
+ resetResultsCount: () => void;
140
+ } & {
141
+ resultFunc: (resultFuncArgs_0: import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsYAxisProps>[] | undefined) => Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
142
+ memoizedResultFunc: ((resultFuncArgs_0: import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsYAxisProps>[] | undefined) => Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>) & {
143
+ clearCache: () => void;
144
+ resultsCount: () => number;
145
+ resetResultsCount: () => void;
146
+ };
147
+ lastResult: () => Record<import("@mui/x-charts/internals").AxisId, import("@mui/x-charts/internals").DefaultizedZoomOptions>;
148
+ dependencies: [((state: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
149
+ cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
150
+ }) => import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsYAxisProps>[] | undefined) & {
151
+ clearCache: () => void;
152
+ resultsCount: () => number;
153
+ resetResultsCount: () => void;
154
+ } & {
155
+ resultFunc: (resultFuncArgs_0: {
156
+ x: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsXAxisProps>[];
157
+ y: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsYAxisProps>[];
158
+ } | undefined) => import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsYAxisProps>[] | undefined;
159
+ memoizedResultFunc: ((resultFuncArgs_0: {
160
+ x: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsXAxisProps>[];
161
+ y: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsYAxisProps>[];
162
+ } | undefined) => import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsYAxisProps>[] | undefined) & {
163
+ clearCache: () => void;
164
+ resultsCount: () => number;
165
+ resetResultsCount: () => void;
166
+ };
167
+ lastResult: () => import("@mui/x-charts").AxisConfig<keyof import("@mui/x-charts/internals").AxisScaleConfig, any, import("@mui/x-charts").ChartsYAxisProps>[] | undefined;
168
+ dependencies: [(state: import("@mui/x-charts/internals").ChartState<[], [import("@mui/x-charts/internals").UseChartCartesianAxisSignature]>) => {
169
+ x: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsXAxisProps>[];
170
+ y: import("@mui/x-charts").AxisConfig<import("@mui/x-charts").ScaleName, any, import("@mui/x-charts").ChartsYAxisProps>[];
171
+ } | undefined];
172
+ recomputations: () => number;
173
+ resetRecomputations: () => void;
174
+ dependencyRecomputations: () => number;
175
+ resetDependencyRecomputations: () => void;
176
+ } & {
177
+ memoize: typeof import("reselect").weakMapMemoize;
178
+ argsMemoize: typeof import("reselect").weakMapMemoize;
179
+ }];
180
+ recomputations: () => number;
181
+ resetRecomputations: () => void;
182
+ dependencyRecomputations: () => number;
183
+ resetDependencyRecomputations: () => void;
184
+ } & {
185
+ memoize: typeof import("reselect").weakMapMemoize;
186
+ argsMemoize: typeof import("reselect").weakMapMemoize;
187
+ }];
188
+ recomputations: () => number;
189
+ resetRecomputations: () => void;
190
+ dependencyRecomputations: () => number;
191
+ resetDependencyRecomputations: () => void;
192
+ } & {
193
+ memoize: typeof import("reselect").weakMapMemoize;
194
+ argsMemoize: typeof import("reselect").weakMapMemoize;
195
+ }];
196
+ recomputations: () => number;
197
+ resetRecomputations: () => void;
198
+ dependencyRecomputations: () => number;
199
+ resetDependencyRecomputations: () => void;
200
+ } & {
201
+ argsMemoize: typeof import("reselect").weakMapMemoize;
202
+ memoize: typeof import("reselect").weakMapMemoize;
203
+ };
@@ -0,0 +1,4 @@
1
+ import { createSelector, selectorChartZoomOptionsLookup } from '@mui/x-charts/internals';
2
+ export const selectorChartZoomState = state => state.zoom;
3
+ export const selectorChartZoomIsInteracting = createSelector(selectorChartZoomState, zoom => zoom.isInteracting);
4
+ export const selectorChartZoomIsEnabled = createSelector(selectorChartZoomOptionsLookup, optionsLookup => Object.keys(optionsLookup).length > 0);
@@ -0,0 +1,53 @@
1
+ import { UseChartSeriesSignature, ChartPluginSignature, UseChartCartesianAxisSignature, UseChartCartesianAxisDefaultizedParameters, ZoomData } from '@mui/x-charts/internals';
2
+ export interface UseChartProZoomParameters {
3
+ /**
4
+ * The list of zoom data related to each axis.
5
+ * Used to initialize the zoom in a specific configuration without controlling it.
6
+ */
7
+ initialZoom?: readonly ZoomData[];
8
+ /**
9
+ * Callback fired when the zoom has changed.
10
+ *
11
+ * @param {ZoomData[]} zoomData Updated zoom data.
12
+ */
13
+ onZoomChange?: (zoomData: ZoomData[]) => void;
14
+ /**
15
+ * The list of zoom data related to each axis.
16
+ */
17
+ zoomData?: readonly ZoomData[];
18
+ }
19
+ export type UseChartProZoomDefaultizedParameters = UseChartProZoomParameters & UseChartCartesianAxisDefaultizedParameters;
20
+ export interface UseChartProZoomState {
21
+ zoom: {
22
+ /**
23
+ * Whether the user is currently interacting with the chart.
24
+ * This is useful to disable animations while the user is interacting.
25
+ */
26
+ isInteracting: boolean;
27
+ /**
28
+ * Mapping of axis id to the zoom data.
29
+ */
30
+ zoomData: readonly ZoomData[];
31
+ /**
32
+ * Internal information to know if the user control the state or not.
33
+ */
34
+ isControlled: boolean;
35
+ };
36
+ }
37
+ export interface UseChartProZoomPublicApi {
38
+ /**
39
+ * Set the zoom data state.
40
+ * @param {ZoomData[] | ((prev: ZoomData[]) => ZoomData[])} value The new value. Can either be the new zoom data, or an updater function.
41
+ * @returns {void}
42
+ */
43
+ setZoomData: (value: ZoomData[] | ((prev: ZoomData[]) => ZoomData[])) => void;
44
+ }
45
+ export interface UseChartProZoomInstance extends UseChartProZoomPublicApi {}
46
+ export type UseChartProZoomSignature = ChartPluginSignature<{
47
+ params: UseChartProZoomParameters;
48
+ defaultizedParams: UseChartProZoomDefaultizedParameters;
49
+ state: UseChartProZoomState;
50
+ publicAPI: UseChartProZoomPublicApi;
51
+ instance: UseChartProZoomInstance;
52
+ dependencies: [UseChartSeriesSignature, UseChartCartesianAxisSignature];
53
+ }>;
@@ -0,0 +1,45 @@
1
+ import { DefaultizedZoomOptions, ZoomData } from '@mui/x-charts/internals';
2
+ /**
3
+ * Helper to get the range (in percents of a reference range) corresponding to a given scale.
4
+ * @param centerRatio {number} The ratio of the point that should not move between the previous and next range.
5
+ * @param scaleRatio {number} The target scale ratio.
6
+ * @returns The range to display.
7
+ */
8
+ export declare const zoomAtPoint: (centerRatio: number, scaleRatio: number, currentZoomData: ZoomData, options: DefaultizedZoomOptions) => number[];
9
+ /**
10
+ * Checks if the new span is valid.
11
+ */
12
+ export declare function isSpanValid(minRange: number, maxRange: number, isZoomIn: boolean, option: DefaultizedZoomOptions): boolean;
13
+ /**
14
+ * Get the scale ratio and if it's a zoom in or out from a wheel event.
15
+ */
16
+ export declare function getWheelScaleRatio(event: WheelEvent, step: number): {
17
+ scaleRatio: number;
18
+ isZoomIn: boolean;
19
+ };
20
+ /**
21
+ * Get the scale ratio and if it's a zoom in or out from a pinch gesture.
22
+ */
23
+ export declare function getPinchScaleRatio(curDiff: number, prevDiff: number, step: number): {
24
+ scaleRatio: number;
25
+ isZoomIn: boolean;
26
+ };
27
+ export declare function getDiff(eventCache: PointerEvent[]): number;
28
+ /**
29
+ * Get the ratio of the point in the horizontal center of the area.
30
+ */
31
+ export declare function getHorizontalCenterRatio(point: {
32
+ x: number;
33
+ y: number;
34
+ }, area: {
35
+ left: number;
36
+ width: number;
37
+ }): number;
38
+ export declare function preventDefault(event: TouchEvent): void;
39
+ export declare function getVerticalCenterRatio(point: {
40
+ x: number;
41
+ y: number;
42
+ }, area: {
43
+ top: number;
44
+ height: number;
45
+ }): number;