@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,12 +1,17 @@
1
+ "use strict";
1
2
  'use client';
2
3
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import * as React from 'react';
5
- import { useSelector, getSVGPoint, selectorChartDrawingArea } from '@mui/x-charts/internals';
6
- import { creatZoomLookup } from "./creatZoomLookup.js";
7
- import { getDiff, getHorizontalCenterRatio, getPinchScaleRatio, getVerticalCenterRatio, getWheelScaleRatio, isSpanValid, preventDefault, zoomAtPoint } from "./useChartProZoom.utils.js";
8
- import { selectorChartZoomOptionsLookup } from "./useChartProZoom.selectors.js";
9
-
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 _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
13
+ var _internals = require("@mui/x-charts/internals");
14
+ var _useChartProZoom = require("./useChartProZoom.utils");
10
15
  // It is helpful to avoid the need to provide the possibly auto-generated id for each axis.
11
16
  function initializeZoomData(options) {
12
17
  return Object.values(options).map(({
@@ -19,39 +24,79 @@ function initializeZoomData(options) {
19
24
  end
20
25
  }));
21
26
  }
22
- export const useChartProZoom = ({
27
+ const useChartProZoom = ({
23
28
  store,
24
29
  instance,
25
30
  svgRef,
26
31
  params
27
32
  }) => {
28
- const drawingArea = useSelector(store, selectorChartDrawingArea);
29
- const optionsLookup = useSelector(store, selectorChartZoomOptionsLookup);
33
+ const {
34
+ zoomData: paramsZoomData,
35
+ onZoomChange
36
+ } = params;
37
+ const drawingArea = (0, _internals.useSelector)(store, _internals.selectorChartDrawingArea);
38
+ const optionsLookup = (0, _internals.useSelector)(store, _internals.selectorChartZoomOptionsLookup);
30
39
  const isZoomEnabled = Object.keys(optionsLookup).length > 0;
31
40
 
32
- // Add events
33
- const panningEventCacheRef = React.useRef([]);
34
- const zoomEventCacheRef = React.useRef([]);
35
- const eventPrevDiff = React.useRef(0);
36
- const interactionTimeoutRef = React.useRef(undefined);
41
+ // Manage controlled state
42
+
43
+ (0, _useEnhancedEffect.default)(() => {
44
+ if (paramsZoomData === undefined) {
45
+ return undefined;
46
+ }
47
+ store.update(prevState => {
48
+ if (process.env.NODE_ENV !== 'production' && !prevState.zoom.isControlled) {
49
+ 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'));
50
+ }
51
+ return (0, _extends2.default)({}, prevState, {
52
+ zoom: (0, _extends2.default)({}, prevState.zoom, {
53
+ isInteracting: true,
54
+ zoomData: paramsZoomData
55
+ })
56
+ });
57
+ });
58
+ const timeout = setTimeout(() => {
59
+ store.update(prevState => {
60
+ return (0, _extends2.default)({}, prevState, {
61
+ zoom: (0, _extends2.default)({}, prevState.zoom, {
62
+ isInteracting: false
63
+ })
64
+ });
65
+ });
66
+ }, 166);
67
+ return () => {
68
+ clearTimeout(timeout);
69
+ };
70
+ }, [store, paramsZoomData]);
71
+
72
+ // Add instance methods
37
73
  const setIsInteracting = React.useCallback(isInteracting => {
38
- store.update(prev => _extends({}, prev, {
39
- zoom: _extends({}, prev.zoom, {
74
+ store.update(prev => (0, _extends2.default)({}, prev, {
75
+ zoom: (0, _extends2.default)({}, prev.zoom, {
40
76
  isInteracting
41
77
  })
42
78
  }));
43
79
  }, [store]);
44
80
  const setZoomDataCallback = React.useCallback(zoomData => {
45
81
  store.update(prevState => {
46
- const newZoomData = typeof zoomData === 'function' ? zoomData(prevState.zoom.zoomData) : zoomData;
47
- params.onZoomChange?.(newZoomData);
48
- return _extends({}, prevState, {
49
- zoom: _extends({}, prevState.zoom, {
82
+ const newZoomData = typeof zoomData === 'function' ? zoomData([...prevState.zoom.zoomData]) : zoomData;
83
+ onZoomChange?.(newZoomData);
84
+ if (prevState.zoom.isControlled) {
85
+ return prevState;
86
+ }
87
+ return (0, _extends2.default)({}, prevState, {
88
+ zoom: (0, _extends2.default)({}, prevState.zoom, {
50
89
  zoomData: newZoomData
51
90
  })
52
91
  });
53
92
  });
54
- }, [params, store]);
93
+ }, [onZoomChange, store]);
94
+
95
+ // Add events
96
+ const panningEventCacheRef = React.useRef([]);
97
+ const zoomEventCacheRef = React.useRef([]);
98
+ const eventPrevDiff = React.useRef(0);
99
+ const interactionTimeoutRef = React.useRef(undefined);
55
100
 
56
101
  // Add event for chart panning
57
102
  const isPanEnabled = React.useMemo(() => Object.values(optionsLookup).some(v => v.panning) || false, [optionsLookup]);
@@ -69,7 +114,7 @@ export const useChartProZoom = ({
69
114
  if (touchStartRef.current == null) {
70
115
  return;
71
116
  }
72
- const point = getSVGPoint(element, event);
117
+ const point = (0, _internals.getSVGPoint)(element, event);
73
118
  const movementX = point.x - touchStartRef.current.x;
74
119
  const movementY = (point.y - touchStartRef.current.y) * -1;
75
120
  const newZoomData = touchStartRef.current.zoomData.map(zoom => {
@@ -97,7 +142,7 @@ export const useChartProZoom = ({
97
142
  if (newMinPercent < MIN_PERCENT || newMaxPercent > MAX_PERCENT || span < options.minSpan || span > options.maxSpan) {
98
143
  return zoom;
99
144
  }
100
- return _extends({}, zoom, {
145
+ return (0, _extends2.default)({}, zoom, {
101
146
  start: newMinPercent,
102
147
  end: newMaxPercent
103
148
  });
@@ -106,7 +151,7 @@ export const useChartProZoom = ({
106
151
  };
107
152
  const handleDown = event => {
108
153
  panningEventCacheRef.current.push(event);
109
- const point = getSVGPoint(element, event);
154
+ const point = (0, _internals.getSVGPoint)(element, event);
110
155
  if (!instance.isPointInside(point)) {
111
156
  return;
112
157
  }
@@ -152,7 +197,7 @@ export const useChartProZoom = ({
152
197
  if (element === null) {
153
198
  return;
154
199
  }
155
- const point = getSVGPoint(element, event);
200
+ const point = (0, _internals.getSVGPoint)(element, event);
156
201
  if (!instance.isPointInside(point)) {
157
202
  return;
158
203
  }
@@ -172,13 +217,13 @@ export const useChartProZoom = ({
172
217
  if (!option) {
173
218
  return zoom;
174
219
  }
175
- const centerRatio = option.axisDirection === 'x' ? getHorizontalCenterRatio(point, drawingArea) : getVerticalCenterRatio(point, drawingArea);
220
+ const centerRatio = option.axisDirection === 'x' ? (0, _useChartProZoom.getHorizontalCenterRatio)(point, drawingArea) : (0, _useChartProZoom.getVerticalCenterRatio)(point, drawingArea);
176
221
  const {
177
222
  scaleRatio,
178
223
  isZoomIn
179
- } = getWheelScaleRatio(event, option.step);
180
- const [newMinRange, newMaxRange] = zoomAtPoint(centerRatio, scaleRatio, zoom, option);
181
- if (!isSpanValid(newMinRange, newMaxRange, isZoomIn, option)) {
224
+ } = (0, _useChartProZoom.getWheelScaleRatio)(event, option.step);
225
+ const [newMinRange, newMaxRange] = (0, _useChartProZoom.zoomAtPoint)(centerRatio, scaleRatio, zoom, option);
226
+ if (!(0, _useChartProZoom.isSpanValid)(newMinRange, newMaxRange, isZoomIn, option)) {
182
227
  return zoom;
183
228
  }
184
229
  return {
@@ -205,7 +250,7 @@ export const useChartProZoom = ({
205
250
  return;
206
251
  }
207
252
  const firstEvent = zoomEventCacheRef.current[0];
208
- const curDiff = getDiff(zoomEventCacheRef.current);
253
+ const curDiff = (0, _useChartProZoom.getDiff)(zoomEventCacheRef.current);
209
254
  setZoomDataCallback(prevZoomData => {
210
255
  const newZoomData = prevZoomData.map(zoom => {
211
256
  const option = optionsLookup[zoom.axisId];
@@ -215,16 +260,16 @@ export const useChartProZoom = ({
215
260
  const {
216
261
  scaleRatio,
217
262
  isZoomIn
218
- } = getPinchScaleRatio(curDiff, eventPrevDiff.current, option.step);
263
+ } = (0, _useChartProZoom.getPinchScaleRatio)(curDiff, eventPrevDiff.current, option.step);
219
264
 
220
265
  // If the scale ratio is 0, it means the pinch gesture is not valid.
221
266
  if (scaleRatio === 0) {
222
267
  return zoom;
223
268
  }
224
- const point = getSVGPoint(element, firstEvent);
225
- const centerRatio = option.axisDirection === 'x' ? getHorizontalCenterRatio(point, drawingArea) : getVerticalCenterRatio(point, drawingArea);
226
- const [newMinRange, newMaxRange] = zoomAtPoint(centerRatio, scaleRatio, zoom, option);
227
- if (!isSpanValid(newMinRange, newMaxRange, isZoomIn, option)) {
269
+ const point = (0, _internals.getSVGPoint)(element, firstEvent);
270
+ const centerRatio = option.axisDirection === 'x' ? (0, _useChartProZoom.getHorizontalCenterRatio)(point, drawingArea) : (0, _useChartProZoom.getVerticalCenterRatio)(point, drawingArea);
271
+ const [newMinRange, newMaxRange] = (0, _useChartProZoom.zoomAtPoint)(centerRatio, scaleRatio, zoom, option);
272
+ if (!(0, _useChartProZoom.isSpanValid)(newMinRange, newMaxRange, isZoomIn, option)) {
228
273
  return zoom;
229
274
  }
230
275
  return {
@@ -255,8 +300,8 @@ export const useChartProZoom = ({
255
300
  element.addEventListener('pointerleave', pointerUpHandler);
256
301
 
257
302
  // Prevent zooming the entire page on touch devices
258
- element.addEventListener('touchstart', preventDefault);
259
- element.addEventListener('touchmove', preventDefault);
303
+ element.addEventListener('touchstart', _useChartProZoom.preventDefault);
304
+ element.addEventListener('touchmove', _useChartProZoom.preventDefault);
260
305
  return () => {
261
306
  element.removeEventListener('wheel', wheelHandler);
262
307
  element.removeEventListener('pointerdown', pointerDownHandler);
@@ -265,8 +310,8 @@ export const useChartProZoom = ({
265
310
  element.removeEventListener('pointercancel', pointerUpHandler);
266
311
  element.removeEventListener('pointerout', pointerUpHandler);
267
312
  element.removeEventListener('pointerleave', pointerUpHandler);
268
- element.removeEventListener('touchstart', preventDefault);
269
- element.removeEventListener('touchmove', preventDefault);
313
+ element.removeEventListener('touchstart', _useChartProZoom.preventDefault);
314
+ element.removeEventListener('touchmove', _useChartProZoom.preventDefault);
270
315
  if (interactionTimeoutRef.current) {
271
316
  clearTimeout(interactionTimeoutRef.current);
272
317
  }
@@ -281,23 +326,32 @@ export const useChartProZoom = ({
281
326
  }
282
327
  };
283
328
  };
329
+ exports.useChartProZoom = useChartProZoom;
284
330
  useChartProZoom.params = {
285
331
  initialZoom: true,
286
- onZoomChange: true
332
+ onZoomChange: true,
333
+ zoomData: true
287
334
  };
288
335
  useChartProZoom.getDefaultizedParams = ({
289
336
  params
290
337
  }) => {
291
- const optionsLookup = _extends({}, creatZoomLookup('x')(params.defaultizedXAxis), creatZoomLookup('y')(params.defaultizedYAxis));
292
- return _extends({}, params, {
293
- optionsLookup
294
- });
338
+ return (0, _extends2.default)({}, params);
295
339
  };
296
340
  useChartProZoom.getInitialState = params => {
341
+ const {
342
+ initialZoom,
343
+ zoomData,
344
+ defaultizedXAxis,
345
+ defaultizedYAxis
346
+ } = params;
347
+ const optionsLookup = (0, _extends2.default)({}, (0, _internals.createZoomLookup)('x')(defaultizedXAxis), (0, _internals.createZoomLookup)('y')(defaultizedYAxis));
297
348
  return {
298
349
  zoom: {
299
- zoomData: params.initialZoom === undefined ? initializeZoomData(params.optionsLookup) : params.initialZoom,
300
- isInteracting: false
350
+ zoomData:
351
+ // eslint-disable-next-line no-nested-ternary
352
+ zoomData !== undefined ? zoomData : initialZoom !== undefined ? initialZoom : initializeZoomData(optionsLookup),
353
+ isInteracting: false,
354
+ isControlled: zoomData !== undefined
301
355
  }
302
356
  };
303
357
  };