@mui/x-charts 9.14.0 → 9.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/BarChart/AnimatedBarElement.mjs +2 -2
  2. package/BarChart/BarChart.mjs +1 -1
  3. package/BarChart/BarElement.mjs +2 -2
  4. package/BarChart/BarLabel/BarLabel.mjs +2 -2
  5. package/BarChart/BarLabel/BarLabelItem.mjs +2 -2
  6. package/BarChart/BarLabel/BarLabelPlot.mjs +2 -2
  7. package/BarChart/BarPlot.mjs +2 -2
  8. package/BarChart/BatchBarPlot/BarGroup.mjs +2 -2
  9. package/BarChart/FocusedBar.mjs +1 -1
  10. package/BarChart/IndividualBarPlot.mjs +2 -2
  11. package/BarChart/checkBarChartScaleErrors.js +1 -1
  12. package/BarChart/checkBarChartScaleErrors.mjs +2 -2
  13. package/BarChart/seriesConfig/bar/getSeriesWithDefaultValues.mjs +1 -1
  14. package/BarChart/seriesConfig/bar/seriesProcessor.mjs +1 -1
  15. package/BarChart/seriesConfig/bar/tooltipPosition.js +1 -1
  16. package/BarChart/seriesConfig/bar/tooltipPosition.mjs +1 -1
  17. package/BarChart/useBarChartProps.mjs +2 -2
  18. package/BarChart/useBarPlotData.mjs +1 -1
  19. package/CHANGELOG.md +338 -0
  20. package/ChartsAxisHighlight/ChartsAxisHighlightPath.mjs +1 -1
  21. package/ChartsAxisHighlightValue/ChartsAxisHighlightValue.mjs +1 -1
  22. package/ChartsAxisHighlightValue/ChartsAxisHighlightValueItem.mjs +1 -1
  23. package/ChartsBrushOverlay/ChartsBrushOverlay.mjs +1 -1
  24. package/ChartsClipPath/ChartsClipPath.mjs +1 -1
  25. package/ChartsContainer/ChartsContainer.js +1 -1
  26. package/ChartsContainer/ChartsContainer.mjs +2 -2
  27. package/ChartsContainer/useChartsContainerProps.mjs +2 -2
  28. package/ChartsDataProvider/ChartsDataProvider.mjs +1 -1
  29. package/ChartsDataProvider/useChartsDataProviderProps.mjs +2 -2
  30. package/ChartsGrid/ChartsGrid.mjs +2 -2
  31. package/ChartsLabel/ChartsLabel.mjs +2 -2
  32. package/ChartsLabel/ChartsLabelGradient.mjs +2 -2
  33. package/ChartsLabel/ChartsLabelMark.mjs +2 -2
  34. package/ChartsLayerContainer/ChartsLayerContainer.js +1 -1
  35. package/ChartsLayerContainer/ChartsLayerContainer.mjs +4 -4
  36. package/ChartsLegend/ChartsLegend.mjs +2 -2
  37. package/ChartsLegend/ContinuousColorLegend.mjs +2 -2
  38. package/ChartsLegend/PiecewiseColorLegend.js +1 -3
  39. package/ChartsLegend/PiecewiseColorLegend.mjs +3 -5
  40. package/ChartsLocalizationProvider/ChartsLocalizationProvider.mjs +2 -2
  41. package/ChartsOverlay/ChartsLoadingOverlay.mjs +1 -1
  42. package/ChartsOverlay/ChartsNoDataOverlay.mjs +1 -1
  43. package/ChartsOverlay/ChartsOverlay.js +4 -2
  44. package/ChartsOverlay/ChartsOverlay.mjs +5 -3
  45. package/ChartsOverlay/common.mjs +1 -1
  46. package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlightPath.mjs +1 -1
  47. package/ChartsRadialDataProvider/ChartsRadialDataProvider.mjs +1 -1
  48. package/ChartsRadialDataProvider/useChartsRadialDataProviderProps.mjs +2 -2
  49. package/ChartsRadialGrid/ChartsRadialGrid.mjs +2 -2
  50. package/ChartsRadiusAxis/ChartsRadiusAxis.mjs +1 -1
  51. package/ChartsReferenceLine/ChartsReferenceLine.mjs +1 -1
  52. package/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
  53. package/ChartsReferenceLine/ChartsXReferenceLine.mjs +3 -3
  54. package/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
  55. package/ChartsReferenceLine/ChartsYReferenceLine.mjs +3 -3
  56. package/ChartsReferenceLine/common.mjs +1 -1
  57. package/ChartsRotationAxis/ChartsRotationAxis.mjs +1 -1
  58. package/ChartsSurface/ChartsSurface.mjs +2 -2
  59. package/ChartsSvgLayer/ChartsSvgLayer.mjs +2 -2
  60. package/ChartsText/ChartsText.mjs +2 -2
  61. package/ChartsTooltip/ChartsTooltip.js +3 -3
  62. package/ChartsTooltip/ChartsTooltip.mjs +5 -5
  63. package/ChartsTooltip/ChartsTooltipContainer.js +5 -5
  64. package/ChartsTooltip/ChartsTooltipContainer.mjs +8 -8
  65. package/ChartsWrapper/ChartsWrapper.mjs +2 -2
  66. package/ChartsXAxis/ChartsGroupedXAxisTicks.mjs +1 -1
  67. package/ChartsXAxis/ChartsSingleXAxisTicks.mjs +1 -1
  68. package/ChartsXAxis/ChartsXAxis.mjs +1 -1
  69. package/ChartsXAxis/ChartsXAxisImpl.js +2 -1
  70. package/ChartsXAxis/ChartsXAxisImpl.mjs +4 -3
  71. package/ChartsXAxis/useAxisTicksProps.d.mts +17 -17
  72. package/ChartsXAxis/useAxisTicksProps.d.ts +17 -17
  73. package/ChartsXAxis/useAxisTicksProps.js +2 -1
  74. package/ChartsXAxis/useAxisTicksProps.mjs +4 -3
  75. package/ChartsYAxis/ChartsGroupedYAxisTicks.mjs +1 -1
  76. package/ChartsYAxis/ChartsSingleYAxisTicks.mjs +1 -1
  77. package/ChartsYAxis/ChartsYAxis.mjs +1 -1
  78. package/ChartsYAxis/ChartsYAxisImpl.js +2 -1
  79. package/ChartsYAxis/ChartsYAxisImpl.mjs +4 -3
  80. package/ChartsYAxis/useAxisTicksProps.d.mts +17 -17
  81. package/ChartsYAxis/useAxisTicksProps.d.ts +17 -17
  82. package/ChartsYAxis/useAxisTicksProps.js +2 -1
  83. package/ChartsYAxis/useAxisTicksProps.mjs +4 -3
  84. package/Gauge/Gauge.mjs +2 -2
  85. package/Gauge/GaugeContainer.mjs +2 -2
  86. package/Gauge/GaugeReferenceArc.mjs +2 -2
  87. package/Gauge/GaugeValueArc.mjs +2 -2
  88. package/Gauge/GaugeValueText.mjs +2 -2
  89. package/LineChart/AnimatedArea.mjs +2 -2
  90. package/LineChart/AnimatedLine.mjs +2 -2
  91. package/LineChart/AreaElement.mjs +2 -2
  92. package/LineChart/AreaPlot.mjs +2 -2
  93. package/LineChart/CircleMarkElement.mjs +2 -2
  94. package/LineChart/LineChart.mjs +1 -1
  95. package/LineChart/LineElement.mjs +2 -2
  96. package/LineChart/LineHighlightElement.d.mts +3 -3
  97. package/LineChart/LineHighlightElement.d.ts +3 -3
  98. package/LineChart/LineHighlightElement.js +2 -2
  99. package/LineChart/LineHighlightElement.mjs +4 -4
  100. package/LineChart/LineHighlightPlot.mjs +2 -2
  101. package/LineChart/LinePlot.mjs +2 -2
  102. package/LineChart/MarkElement.mjs +2 -2
  103. package/LineChart/MarkPlot.mjs +2 -2
  104. package/LineChart/seriesConfig/getSeriesWithDefaultValues.mjs +1 -1
  105. package/LineChart/seriesConfig/tooltipPosition.js +1 -1
  106. package/LineChart/seriesConfig/tooltipPosition.mjs +1 -1
  107. package/LineChart/useLineChartProps.mjs +2 -2
  108. package/LineChart/useLinePlotData.js +1 -1
  109. package/LineChart/useLinePlotData.mjs +2 -2
  110. package/PieChart/FocusedPieArc.mjs +2 -2
  111. package/PieChart/PieArc.mjs +2 -2
  112. package/PieChart/PieArcLabel.mjs +2 -2
  113. package/PieChart/PieArcLabelPlot.mjs +2 -2
  114. package/PieChart/PieArcPlot.mjs +2 -2
  115. package/PieChart/PieChart.mjs +2 -2
  116. package/PieChart/dataTransform/getModifiedArcProperties.mjs +1 -1
  117. package/PieChart/dataTransform/useTransformData.mjs +1 -1
  118. package/PieChart/seriesConfig/getSeriesWithDefaultValues.mjs +1 -1
  119. package/PieChart/seriesConfig/seriesProcessor.mjs +1 -1
  120. package/PieChart/seriesConfig/tooltip.mjs +1 -1
  121. package/PieChart/seriesConfig/tooltipPosition.js +1 -1
  122. package/PieChart/seriesConfig/tooltipPosition.mjs +1 -1
  123. package/RadarChart/FocusedRadarMark.mjs +1 -1
  124. package/RadarChart/RadarAxis/RadarAxis.mjs +1 -1
  125. package/RadarChart/RadarAxis/useRadarAxis.js +1 -1
  126. package/RadarChart/RadarAxis/useRadarAxis.mjs +1 -1
  127. package/RadarChart/RadarAxisHighlight/RadarAxisHighlight.mjs +1 -1
  128. package/RadarChart/RadarChart.mjs +1 -1
  129. package/RadarChart/RadarDataProvider/RadarDataProvider.mjs +2 -2
  130. package/RadarChart/RadarMetricLabels/RadarMetricLabels.js +2 -1
  131. package/RadarChart/RadarMetricLabels/RadarMetricLabels.mjs +3 -2
  132. package/RadarChart/RadarSeriesPlot/RadarSeriesArea.mjs +2 -2
  133. package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.mjs +2 -2
  134. package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.mjs +1 -1
  135. package/RadarChart/RadarSeriesPlot/useRadarSeriesData.mjs +1 -1
  136. package/RadarChart/seriesConfig/getSeriesWithDefaultValues.mjs +1 -1
  137. package/RadarChart/seriesConfig/seriesProcessor.mjs +1 -1
  138. package/RadarChart/seriesConfig/tooltipPosition.js +1 -1
  139. package/RadarChart/seriesConfig/tooltipPosition.mjs +1 -1
  140. package/RadarChart/useRadarChartProps.mjs +1 -1
  141. package/ScatterChart/FocusedScatterMark.mjs +2 -2
  142. package/ScatterChart/HighlightedScatterMark.mjs +2 -2
  143. package/ScatterChart/Scatter.mjs +2 -2
  144. package/ScatterChart/ScatterChart.mjs +1 -1
  145. package/ScatterChart/ScatterMarker.mjs +2 -2
  146. package/ScatterChart/ScatterPlot.mjs +1 -1
  147. package/ScatterChart/async/ScatterAsyncBatch.mjs +2 -2
  148. package/ScatterChart/async/scatterRenderData.selectors.js +1 -1
  149. package/ScatterChart/async/scatterRenderData.selectors.mjs +1 -1
  150. package/ScatterChart/seriesConfig/getSeriesWithDefaultValues.mjs +1 -1
  151. package/ScatterChart/seriesConfig/seriesProcessor.mjs +1 -1
  152. package/ScatterChart/seriesConfig/tooltipPosition.js +1 -1
  153. package/ScatterChart/seriesConfig/tooltipPosition.mjs +1 -1
  154. package/ScatterChart/useScatterChartProps.mjs +2 -2
  155. package/SparkLineChart/SparkLineChart.js +21 -21
  156. package/SparkLineChart/SparkLineChart.mjs +23 -23
  157. package/Toolbar/Toolbar.mjs +2 -2
  158. package/Toolbar/ToolbarButton.mjs +2 -2
  159. package/context/ChartsProvider/ChartsProvider.types.d.mts +1 -1
  160. package/context/ChartsProvider/ChartsProvider.types.d.ts +1 -1
  161. package/context/ChartsSlotsContext.mjs +1 -1
  162. package/hooks/animation/useAnimate.mjs +1 -1
  163. package/hooks/useAxisCoordinates.mjs +1 -1
  164. package/hooks/useAxisTicks.js +1 -1
  165. package/hooks/useAxisTicks.mjs +2 -2
  166. package/hooks/useIsItemFocusedGetter.js +1 -1
  167. package/hooks/useIsItemFocusedGetter.mjs +1 -1
  168. package/index.js +1 -1
  169. package/index.mjs +1 -1
  170. package/internals/Flatbush.js +10 -0
  171. package/internals/Flatbush.mjs +10 -0
  172. package/internals/commonNextFocusItem.d.mts +46 -0
  173. package/internals/commonNextFocusItem.d.ts +46 -0
  174. package/internals/commonNextFocusItem.js +241 -0
  175. package/internals/commonNextFocusItem.mjs +235 -0
  176. package/internals/components/AxisSharedComponents.mjs +1 -1
  177. package/internals/components/ChartsAxesGradients/ChartsContinuousGradientObjectBound.mjs +1 -1
  178. package/internals/consumeSlots.mjs +2 -2
  179. package/internals/consumeThemeProps.js +1 -2
  180. package/internals/consumeThemeProps.mjs +1 -1
  181. package/internals/createCommonKeyboardFocusHandler.js +16 -0
  182. package/internals/createCommonKeyboardFocusHandler.mjs +17 -1
  183. package/internals/defaultizeMargin.mjs +1 -1
  184. package/internals/geometry.js +1 -1
  185. package/internals/geometry.mjs +1 -1
  186. package/internals/getGroupingConfig.mjs +1 -1
  187. package/internals/getInlineTypographyStyle.d.mts +9 -0
  188. package/internals/getInlineTypographyStyle.d.ts +9 -0
  189. package/internals/getInlineTypographyStyle.js +22 -0
  190. package/internals/getInlineTypographyStyle.mjs +16 -0
  191. package/internals/getLineLikeTooltip.mjs +1 -1
  192. package/internals/getWordsByLines.mjs +1 -1
  193. package/internals/material/index.mjs +1 -1
  194. package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.mjs +1 -1
  195. package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.js +1 -1
  196. package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.mjs +1 -1
  197. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.mjs +1 -1
  198. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +1 -1
  199. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.mjs +1 -1
  200. package/internals/plugins/corePlugins/useChartId/useChartId.mjs +1 -1
  201. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +1 -1
  202. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.mjs +1 -1
  203. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.mjs +1 -1
  204. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +1 -1
  205. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.mjs +1 -1
  206. package/internals/plugins/corePlugins/useChartSeries/useChartSeriesLayout.selectors.js +1 -1
  207. package/internals/plugins/corePlugins/useChartSeries/useChartSeriesLayout.selectors.mjs +1 -1
  208. package/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.mjs +1 -1
  209. package/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.selectors.js +1 -1
  210. package/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.selectors.mjs +1 -1
  211. package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.mjs +1 -1
  212. package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.selectors.js +1 -1
  213. package/internals/plugins/featurePlugins/useChartBrush/useChartBrush.selectors.mjs +1 -1
  214. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisAutoSize.mjs +1 -1
  215. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.mjs +1 -1
  216. package/internals/plugins/featurePlugins/useChartCartesianAxis/createZoomLookup.js +2 -1
  217. package/internals/plugins/featurePlugins/useChartCartesianAxis/createZoomLookup.mjs +2 -1
  218. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.mjs +1 -1
  219. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.mjs +1 -1
  220. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisClickPayload.js +5 -3
  221. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisClickPayload.mjs +5 -3
  222. package/internals/plugins/featurePlugins/useChartCartesianAxis/sampling.selectors.js +1 -1
  223. package/internals/plugins/featurePlugins/useChartCartesianAxis/sampling.selectors.mjs +1 -1
  224. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisAutoSize.selectors.js +1 -1
  225. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisAutoSize.selectors.mjs +1 -1
  226. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisDomains.selectors.js +1 -1
  227. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisDomains.selectors.mjs +1 -1
  228. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisExtrema.selectors.js +1 -1
  229. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisExtrema.selectors.mjs +1 -1
  230. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.js +1 -1
  231. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.mjs +1 -1
  232. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +3 -3
  233. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.mjs +4 -4
  234. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPosition.selectors.js +1 -1
  235. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPosition.selectors.mjs +1 -1
  236. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +1 -1
  237. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.mjs +1 -1
  238. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.mts +10 -10
  239. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +10 -10
  240. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +1 -1
  241. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.mjs +2 -2
  242. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.mts +10 -10
  243. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.ts +10 -10
  244. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.js +1 -1
  245. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.mjs +2 -2
  246. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +1 -1
  247. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.mjs +1 -1
  248. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianTooltip.selectors.js +1 -1
  249. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianTooltip.selectors.mjs +1 -1
  250. package/internals/plugins/featurePlugins/useChartClosestPoint/useChartClosestPoint.mjs +1 -1
  251. package/internals/plugins/featurePlugins/useChartClosestPoint/useChartClosestPoint.selectors.js +1 -1
  252. package/internals/plugins/featurePlugins/useChartClosestPoint/useChartClosestPoint.selectors.mjs +1 -1
  253. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.js +1 -1
  254. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.mjs +2 -2
  255. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +1 -1
  256. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.mjs +1 -1
  257. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +1 -1
  258. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.mjs +2 -2
  259. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +1 -1
  260. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.mjs +1 -1
  261. package/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.js +2 -2
  262. package/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.mjs +2 -2
  263. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.js +8 -4
  264. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.mjs +9 -5
  265. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.js +2 -2
  266. package/internals/plugins/featurePlugins/useChartKeyboardNavigation/useChartKeyboardNavigation.selectors.mjs +2 -2
  267. package/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.mjs +1 -1
  268. package/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.mjs +1 -1
  269. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +1 -1
  270. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.mjs +3 -3
  271. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +1 -1
  272. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.mjs +1 -1
  273. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.mts +3 -3
  274. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +3 -3
  275. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js +3 -3
  276. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.mjs +3 -3
  277. package/internals/plugins/featurePlugins/useChartTooltip/useChartTooltip.js +1 -1
  278. package/internals/plugins/featurePlugins/useChartTooltip/useChartTooltip.mjs +2 -2
  279. package/internals/plugins/featurePlugins/useChartTooltip/useChartTooltip.selectors.js +1 -1
  280. package/internals/plugins/featurePlugins/useChartTooltip/useChartTooltip.selectors.mjs +1 -1
  281. package/internals/plugins/featurePlugins/useChartVisibilityManager/useChartVisibilityManager.mjs +1 -1
  282. package/internals/plugins/featurePlugins/useChartVisibilityManager/useChartVisibilityManager.selectors.js +1 -1
  283. package/internals/plugins/featurePlugins/useChartVisibilityManager/useChartVisibilityManager.selectors.mjs +1 -1
  284. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.mjs +1 -1
  285. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +1 -1
  286. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.mjs +1 -1
  287. package/internals/plugins/featurePlugins/useProgressiveRendering/useProgressiveRendering.mjs +1 -1
  288. package/internals/plugins/featurePlugins/useProgressiveRendering/useProgressiveRendering.selectors.js +1 -1
  289. package/internals/plugins/featurePlugins/useProgressiveRendering/useProgressiveRendering.selectors.mjs +1 -1
  290. package/internals/plugins/models/plugin.d.mts +1 -1
  291. package/internals/plugins/models/plugin.d.ts +1 -1
  292. package/internals/plugins/utils/useLazySelectorEffect.d.mts +1 -1
  293. package/internals/plugins/utils/useLazySelectorEffect.d.ts +1 -1
  294. package/internals/processLineLikeSeries.mjs +1 -1
  295. package/internals/seriesHasData.js +2 -1
  296. package/internals/seriesHasData.mjs +2 -1
  297. package/internals/seriesSelectorOfType.js +2 -2
  298. package/internals/seriesSelectorOfType.mjs +2 -2
  299. package/internals/shallowEqual.js +1 -3
  300. package/internals/shallowEqual.mjs +1 -3
  301. package/internals/store/extractPluginParamsFromProps.mjs +1 -1
  302. package/internals/store/useCharts.d.mts +1 -1
  303. package/internals/store/useCharts.d.ts +1 -1
  304. package/internals/store/useCharts.js +1 -1
  305. package/internals/store/useCharts.mjs +1 -1
  306. package/internals/store/useStore.d.mts +1 -1
  307. package/internals/store/useStore.d.ts +1 -1
  308. package/internals/ts-generic.d.mts +1 -1
  309. package/internals/ts-generic.d.ts +1 -1
  310. package/locales/elGR.d.mts +2 -1
  311. package/locales/elGR.d.ts +2 -1
  312. package/locales/elGR.js +2 -0
  313. package/locales/elGR.mjs +2 -0
  314. package/locales/enUS.d.mts +2 -1
  315. package/locales/enUS.d.ts +2 -1
  316. package/locales/enUS.js +1 -0
  317. package/locales/enUS.mjs +1 -0
  318. package/locales/frFR.d.mts +2 -1
  319. package/locales/frFR.d.ts +2 -1
  320. package/locales/frFR.js +1 -0
  321. package/locales/frFR.mjs +1 -0
  322. package/locales/nbNO.d.mts +2 -1
  323. package/locales/nbNO.d.ts +2 -1
  324. package/locales/nbNO.js +2 -0
  325. package/locales/nbNO.mjs +2 -0
  326. package/locales/ptBR.d.mts +2 -1
  327. package/locales/ptBR.d.ts +2 -1
  328. package/locales/ptBR.js +2 -0
  329. package/locales/ptBR.mjs +2 -0
  330. package/locales/ptPT.d.mts +2 -1
  331. package/locales/ptPT.d.ts +2 -1
  332. package/locales/ptPT.js +2 -0
  333. package/locales/ptPT.mjs +2 -0
  334. package/locales/svSE.d.mts +2 -1
  335. package/locales/svSE.d.ts +2 -1
  336. package/locales/svSE.js +1 -0
  337. package/locales/svSE.mjs +1 -0
  338. package/locales/utils/chartsLocaleTextApi.d.mts +5 -1
  339. package/locales/utils/chartsLocaleTextApi.d.ts +5 -1
  340. package/locales/utils/getChartsLocalization.d.mts +2 -1
  341. package/locales/utils/getChartsLocalization.d.ts +2 -1
  342. package/locales/utils/getChartsLocalization.mjs +1 -1
  343. package/package.json +9 -11
  344. package/tests/web-components.js +1 -0
  345. package/tests/web-components.mjs +1 -0
@@ -44,6 +44,24 @@ allowCycles?: boolean,
44
44
  * If true (default), series max index is defined by the current series length and not all series.
45
45
  */
46
46
  useCurrentSeriesMaxLength?: boolean): (currentItem: WorkingItem | null, state: StateParameters<InSeriesType>) => ReturnedItem<OutSeriesType>;
47
+ export declare function createGetFirstIndexFocusedItem<InSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'>, OutSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'> = InSeriesType>(
48
+ /**
49
+ * The set of series types compatible with this navigation action.
50
+ */
51
+ compatibleSeriesTypes: Set<OutSeriesType>,
52
+ /**
53
+ * If true, series max index is defined by the current series length and not all series.
54
+ */
55
+ useCurrentSeriesMaxLength?: boolean): (currentItem: WorkingItem | null, state: StateParameters<InSeriesType>) => ReturnedItem<OutSeriesType>;
56
+ export declare function createGetLastIndexFocusedItem<InSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'>, OutSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'> = InSeriesType>(
57
+ /**
58
+ * The set of series types compatible with this navigation action.
59
+ */
60
+ compatibleSeriesTypes: Set<OutSeriesType>,
61
+ /**
62
+ * If true, series max index is defined by the current series length and not all series.
63
+ */
64
+ useCurrentSeriesMaxLength?: boolean): (currentItem: WorkingItem | null, state: StateParameters<InSeriesType>) => ReturnedItem<OutSeriesType>;
47
65
  export declare function createGetNextSeriesFocusedItem<InSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'>, OutSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'> = InSeriesType>(
48
66
  /**
49
67
  * The set of series types compatible with this navigation action.
@@ -54,4 +72,32 @@ export declare function createGetPreviousSeriesFocusedItem<InSeriesType extends
54
72
  * The set of series types compatible with this navigation action.
55
73
  */
56
74
  compatibleSeriesTypes: Set<OutSeriesType>): (currentItem: WorkingItem | null, state: StateParameters<InSeriesType>) => ReturnedItem<OutSeriesType>;
75
+ export declare function createGetFirstSeriesFirstIndexFocusedItem<InSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'>, OutSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'> = InSeriesType>(
76
+ /**
77
+ * The set of series types compatible with this navigation action.
78
+ */
79
+ compatibleSeriesTypes: Set<OutSeriesType>,
80
+ /**
81
+ * If true, series max index is defined by the current series length and not all series.
82
+ */
83
+ useCurrentSeriesMaxLength?: boolean): (_currentItem: WorkingItem | null, state: StateParameters<InSeriesType>) => ReturnedItem<OutSeriesType>;
84
+ export declare function createGetLastSeriesLastIndexFocusedItem<InSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'>, OutSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'> = InSeriesType>(
85
+ /**
86
+ * The set of series types compatible with this navigation action.
87
+ */
88
+ compatibleSeriesTypes: Set<OutSeriesType>,
89
+ /**
90
+ * If true, series max index is defined by the current series length and not all series.
91
+ */
92
+ useCurrentSeriesMaxLength?: boolean): (_currentItem: WorkingItem | null, state: StateParameters<InSeriesType>) => ReturnedItem<OutSeriesType>;
93
+ export declare function createGetFirstSeriesFocusedItem<InSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'>, OutSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'> = InSeriesType>(
94
+ /**
95
+ * The set of series types compatible with this navigation action.
96
+ */
97
+ compatibleSeriesTypes: Set<OutSeriesType>): (currentItem: WorkingItem | null, state: StateParameters<InSeriesType>) => ReturnedItem<OutSeriesType>;
98
+ export declare function createGetLastSeriesFocusedItem<InSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'>, OutSeriesType extends Exclude<ChartSeriesType, 'sankey' | 'heatmap'> = InSeriesType>(
99
+ /**
100
+ * The set of series types compatible with this navigation action.
101
+ */
102
+ compatibleSeriesTypes: Set<OutSeriesType>): (currentItem: WorkingItem | null, state: StateParameters<InSeriesType>) => ReturnedItem<OutSeriesType>;
57
103
  export {};
@@ -3,11 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.createGetFirstIndexFocusedItem = createGetFirstIndexFocusedItem;
7
+ exports.createGetFirstSeriesFirstIndexFocusedItem = createGetFirstSeriesFirstIndexFocusedItem;
8
+ exports.createGetFirstSeriesFocusedItem = createGetFirstSeriesFocusedItem;
9
+ exports.createGetLastIndexFocusedItem = createGetLastIndexFocusedItem;
10
+ exports.createGetLastSeriesFocusedItem = createGetLastSeriesFocusedItem;
11
+ exports.createGetLastSeriesLastIndexFocusedItem = createGetLastSeriesLastIndexFocusedItem;
6
12
  exports.createGetNextIndexFocusedItem = createGetNextIndexFocusedItem;
7
13
  exports.createGetNextSeriesFocusedItem = createGetNextSeriesFocusedItem;
8
14
  exports.createGetPreviousIndexFocusedItem = createGetPreviousIndexFocusedItem;
9
15
  exports.createGetPreviousSeriesFocusedItem = createGetPreviousSeriesFocusedItem;
10
16
  var _getPreviousNonEmptySeries = require("./plugins/featurePlugins/useChartKeyboardNavigation/utils/getPreviousNonEmptySeries");
17
+ var _getNonEmptySeriesArray = require("./plugins/featurePlugins/useChartKeyboardNavigation/utils/getNonEmptySeriesArray");
11
18
  var _getMaxSeriesLength = require("./plugins/featurePlugins/useChartKeyboardNavigation/utils/getMaxSeriesLength");
12
19
  var _getNextNonEmptySeries = require("./plugins/featurePlugins/useChartKeyboardNavigation/utils/getNextNonEmptySeries");
13
20
  var _findVisibleDataIndex = require("./plugins/featurePlugins/useChartKeyboardNavigation/utils/findVisibleDataIndex");
@@ -125,6 +132,88 @@ useCurrentSeriesMaxLength = true) {
125
132
  };
126
133
  };
127
134
  }
135
+ function createGetFirstIndexFocusedItem(
136
+ /**
137
+ * The set of series types compatible with this navigation action.
138
+ */
139
+ compatibleSeriesTypes,
140
+ /**
141
+ * If true, series max index is defined by the current series length and not all series.
142
+ */
143
+ useCurrentSeriesMaxLength = true) {
144
+ return function getFirstIndexFocusedItem(currentItem, state) {
145
+ const processedSeries = (0, _useChartSeries.selectorChartSeriesProcessed)(state);
146
+ let seriesId = currentItem?.seriesId;
147
+ let type = currentItem?.type;
148
+ if (!type || seriesId == null || !(0, _seriesHasData.seriesHasData)(processedSeries, type, seriesId) || isSeriesHidden(processedSeries, type, seriesId)) {
149
+ const nextSeries = (0, _getNextNonEmptySeries.getNextNonEmptySeries)(processedSeries, compatibleSeriesTypes, type, seriesId);
150
+ if (nextSeries === null) {
151
+ return null;
152
+ }
153
+ type = nextSeries.type;
154
+ seriesId = nextSeries.seriesId;
155
+ }
156
+ const maxLength = useCurrentSeriesMaxLength ? processedSeries[type]?.series[seriesId]?.data.length ?? 0 : (0, _getMaxSeriesLength.getMaxSeriesLength)(processedSeries, compatibleSeriesTypes);
157
+ const visibleDataIndex = (0, _findVisibleDataIndex.findVisibleDataIndex)({
158
+ processedSeries,
159
+ type,
160
+ seriesId,
161
+ startIndex: 0,
162
+ dataLength: maxLength,
163
+ direction: 1,
164
+ allowCycles: false
165
+ });
166
+ if (visibleDataIndex === null) {
167
+ return null;
168
+ }
169
+ return {
170
+ type: type,
171
+ seriesId,
172
+ dataIndex: visibleDataIndex
173
+ };
174
+ };
175
+ }
176
+ function createGetLastIndexFocusedItem(
177
+ /**
178
+ * The set of series types compatible with this navigation action.
179
+ */
180
+ compatibleSeriesTypes,
181
+ /**
182
+ * If true, series max index is defined by the current series length and not all series.
183
+ */
184
+ useCurrentSeriesMaxLength = true) {
185
+ return function getLastIndexFocusedItem(currentItem, state) {
186
+ const processedSeries = (0, _useChartSeries.selectorChartSeriesProcessed)(state);
187
+ let seriesId = currentItem?.seriesId;
188
+ let type = currentItem?.type;
189
+ if (!type || seriesId == null || !(0, _seriesHasData.seriesHasData)(processedSeries, type, seriesId) || isSeriesHidden(processedSeries, type, seriesId)) {
190
+ const previousSeries = (0, _getPreviousNonEmptySeries.getPreviousNonEmptySeries)(processedSeries, compatibleSeriesTypes, type, seriesId);
191
+ if (previousSeries === null) {
192
+ return null;
193
+ }
194
+ type = previousSeries.type;
195
+ seriesId = previousSeries.seriesId;
196
+ }
197
+ const maxLength = useCurrentSeriesMaxLength ? processedSeries[type]?.series[seriesId]?.data.length ?? 0 : (0, _getMaxSeriesLength.getMaxSeriesLength)(processedSeries, compatibleSeriesTypes);
198
+ const visibleDataIndex = (0, _findVisibleDataIndex.findVisibleDataIndex)({
199
+ processedSeries,
200
+ type,
201
+ seriesId,
202
+ startIndex: maxLength - 1,
203
+ dataLength: maxLength,
204
+ direction: -1,
205
+ allowCycles: false
206
+ });
207
+ if (visibleDataIndex === null) {
208
+ return null;
209
+ }
210
+ return {
211
+ type: type,
212
+ seriesId,
213
+ dataIndex: visibleDataIndex
214
+ };
215
+ };
216
+ }
128
217
  function createGetNextSeriesFocusedItem(
129
218
  /**
130
219
  * The set of series types compatible with this navigation action.
@@ -196,4 +285,156 @@ compatibleSeriesTypes) {
196
285
  dataIndex: visibleDataIndex
197
286
  };
198
287
  };
288
+ }
289
+ function createGetFirstSeriesFirstIndexFocusedItem(
290
+ /**
291
+ * The set of series types compatible with this navigation action.
292
+ */
293
+ compatibleSeriesTypes,
294
+ /**
295
+ * If true, series max index is defined by the current series length and not all series.
296
+ */
297
+ useCurrentSeriesMaxLength = true) {
298
+ return function getFirstSeriesFirstIndexFocusedItem(_currentItem, state) {
299
+ const processedSeries = (0, _useChartSeries.selectorChartSeriesProcessed)(state);
300
+ const firstSeries = (0, _getNonEmptySeriesArray.getNonEmptySeriesArray)(processedSeries, compatibleSeriesTypes)[0];
301
+ if (firstSeries === undefined) {
302
+ return null;
303
+ }
304
+ const {
305
+ type,
306
+ seriesId
307
+ } = firstSeries;
308
+ const maxLength = useCurrentSeriesMaxLength ? processedSeries[type]?.series[seriesId]?.data.length ?? 0 : (0, _getMaxSeriesLength.getMaxSeriesLength)(processedSeries, compatibleSeriesTypes);
309
+ const visibleDataIndex = (0, _findVisibleDataIndex.findVisibleDataIndex)({
310
+ processedSeries,
311
+ type,
312
+ seriesId,
313
+ startIndex: 0,
314
+ dataLength: maxLength,
315
+ direction: 1,
316
+ allowCycles: false
317
+ });
318
+ if (visibleDataIndex === null) {
319
+ return null;
320
+ }
321
+ return {
322
+ type,
323
+ seriesId,
324
+ dataIndex: visibleDataIndex
325
+ };
326
+ };
327
+ }
328
+ function createGetLastSeriesLastIndexFocusedItem(
329
+ /**
330
+ * The set of series types compatible with this navigation action.
331
+ */
332
+ compatibleSeriesTypes,
333
+ /**
334
+ * If true, series max index is defined by the current series length and not all series.
335
+ */
336
+ useCurrentSeriesMaxLength = true) {
337
+ return function getLastSeriesLastIndexFocusedItem(_currentItem, state) {
338
+ const processedSeries = (0, _useChartSeries.selectorChartSeriesProcessed)(state);
339
+ const nonEmptySeries = (0, _getNonEmptySeriesArray.getNonEmptySeriesArray)(processedSeries, compatibleSeriesTypes);
340
+ const lastSeries = nonEmptySeries[nonEmptySeries.length - 1];
341
+ if (lastSeries === undefined) {
342
+ return null;
343
+ }
344
+ const {
345
+ type,
346
+ seriesId
347
+ } = lastSeries;
348
+ const maxLength = useCurrentSeriesMaxLength ? processedSeries[type]?.series[seriesId]?.data.length ?? 0 : (0, _getMaxSeriesLength.getMaxSeriesLength)(processedSeries, compatibleSeriesTypes);
349
+ const visibleDataIndex = (0, _findVisibleDataIndex.findVisibleDataIndex)({
350
+ processedSeries,
351
+ type,
352
+ seriesId,
353
+ startIndex: maxLength - 1,
354
+ dataLength: maxLength,
355
+ direction: -1,
356
+ allowCycles: false
357
+ });
358
+ if (visibleDataIndex === null) {
359
+ return null;
360
+ }
361
+ return {
362
+ type,
363
+ seriesId,
364
+ dataIndex: visibleDataIndex
365
+ };
366
+ };
367
+ }
368
+ function createGetFirstSeriesFocusedItem(
369
+ /**
370
+ * The set of series types compatible with this navigation action.
371
+ */
372
+ compatibleSeriesTypes) {
373
+ return function getFirstSeriesFocusedItem(currentItem, state) {
374
+ const processedSeries = (0, _useChartSeries.selectorChartSeriesProcessed)(state);
375
+ const firstSeries = (0, _getNonEmptySeriesArray.getNonEmptySeriesArray)(processedSeries, compatibleSeriesTypes)[0];
376
+ if (firstSeries === undefined) {
377
+ return null;
378
+ }
379
+ const {
380
+ type,
381
+ seriesId
382
+ } = firstSeries;
383
+ const data = processedSeries[type].series[seriesId].data;
384
+ const startIndex = currentItem?.dataIndex == null ? 0 : Math.min(currentItem.dataIndex, data.length - 1);
385
+ const visibleDataIndex = (0, _findVisibleDataIndex.findVisibleDataIndex)({
386
+ processedSeries,
387
+ type,
388
+ seriesId,
389
+ startIndex,
390
+ dataLength: data.length,
391
+ direction: 1,
392
+ allowCycles: true
393
+ });
394
+ if (visibleDataIndex === null) {
395
+ return null;
396
+ }
397
+ return {
398
+ type,
399
+ seriesId,
400
+ dataIndex: visibleDataIndex
401
+ };
402
+ };
403
+ }
404
+ function createGetLastSeriesFocusedItem(
405
+ /**
406
+ * The set of series types compatible with this navigation action.
407
+ */
408
+ compatibleSeriesTypes) {
409
+ return function getLastSeriesFocusedItem(currentItem, state) {
410
+ const processedSeries = (0, _useChartSeries.selectorChartSeriesProcessed)(state);
411
+ const nonEmptySeries = (0, _getNonEmptySeriesArray.getNonEmptySeriesArray)(processedSeries, compatibleSeriesTypes);
412
+ const lastSeries = nonEmptySeries[nonEmptySeries.length - 1];
413
+ if (lastSeries === undefined) {
414
+ return null;
415
+ }
416
+ const {
417
+ type,
418
+ seriesId
419
+ } = lastSeries;
420
+ const data = processedSeries[type].series[seriesId].data;
421
+ const startIndex = currentItem?.dataIndex == null ? data.length - 1 : Math.min(currentItem.dataIndex, data.length - 1);
422
+ const visibleDataIndex = (0, _findVisibleDataIndex.findVisibleDataIndex)({
423
+ processedSeries,
424
+ type,
425
+ seriesId,
426
+ startIndex,
427
+ dataLength: data.length,
428
+ direction: -1,
429
+ allowCycles: true
430
+ });
431
+ if (visibleDataIndex === null) {
432
+ return null;
433
+ }
434
+ return {
435
+ type,
436
+ seriesId,
437
+ dataIndex: visibleDataIndex
438
+ };
439
+ };
199
440
  }
@@ -1,4 +1,5 @@
1
1
  import { getPreviousNonEmptySeries } from "./plugins/featurePlugins/useChartKeyboardNavigation/utils/getPreviousNonEmptySeries.mjs";
2
+ import { getNonEmptySeriesArray } from "./plugins/featurePlugins/useChartKeyboardNavigation/utils/getNonEmptySeriesArray.mjs";
2
3
  import { getMaxSeriesLength } from "./plugins/featurePlugins/useChartKeyboardNavigation/utils/getMaxSeriesLength.mjs";
3
4
  import { getNextNonEmptySeries } from "./plugins/featurePlugins/useChartKeyboardNavigation/utils/getNextNonEmptySeries.mjs";
4
5
  import { findVisibleDataIndex } from "./plugins/featurePlugins/useChartKeyboardNavigation/utils/findVisibleDataIndex.mjs";
@@ -117,6 +118,88 @@ useCurrentSeriesMaxLength = true) {
117
118
  };
118
119
  };
119
120
  }
121
+ export function createGetFirstIndexFocusedItem(
122
+ /**
123
+ * The set of series types compatible with this navigation action.
124
+ */
125
+ compatibleSeriesTypes,
126
+ /**
127
+ * If true, series max index is defined by the current series length and not all series.
128
+ */
129
+ useCurrentSeriesMaxLength = true) {
130
+ return function getFirstIndexFocusedItem(currentItem, state) {
131
+ const processedSeries = selectorChartSeriesProcessed(state);
132
+ let seriesId = currentItem?.seriesId;
133
+ let type = currentItem?.type;
134
+ if (!type || seriesId == null || !seriesHasData(processedSeries, type, seriesId) || isSeriesHidden(processedSeries, type, seriesId)) {
135
+ const nextSeries = getNextNonEmptySeries(processedSeries, compatibleSeriesTypes, type, seriesId);
136
+ if (nextSeries === null) {
137
+ return null;
138
+ }
139
+ type = nextSeries.type;
140
+ seriesId = nextSeries.seriesId;
141
+ }
142
+ const maxLength = useCurrentSeriesMaxLength ? processedSeries[type]?.series[seriesId]?.data.length ?? 0 : getMaxSeriesLength(processedSeries, compatibleSeriesTypes);
143
+ const visibleDataIndex = findVisibleDataIndex({
144
+ processedSeries,
145
+ type,
146
+ seriesId,
147
+ startIndex: 0,
148
+ dataLength: maxLength,
149
+ direction: 1,
150
+ allowCycles: false
151
+ });
152
+ if (visibleDataIndex === null) {
153
+ return null;
154
+ }
155
+ return {
156
+ type: type,
157
+ seriesId,
158
+ dataIndex: visibleDataIndex
159
+ };
160
+ };
161
+ }
162
+ export function createGetLastIndexFocusedItem(
163
+ /**
164
+ * The set of series types compatible with this navigation action.
165
+ */
166
+ compatibleSeriesTypes,
167
+ /**
168
+ * If true, series max index is defined by the current series length and not all series.
169
+ */
170
+ useCurrentSeriesMaxLength = true) {
171
+ return function getLastIndexFocusedItem(currentItem, state) {
172
+ const processedSeries = selectorChartSeriesProcessed(state);
173
+ let seriesId = currentItem?.seriesId;
174
+ let type = currentItem?.type;
175
+ if (!type || seriesId == null || !seriesHasData(processedSeries, type, seriesId) || isSeriesHidden(processedSeries, type, seriesId)) {
176
+ const previousSeries = getPreviousNonEmptySeries(processedSeries, compatibleSeriesTypes, type, seriesId);
177
+ if (previousSeries === null) {
178
+ return null;
179
+ }
180
+ type = previousSeries.type;
181
+ seriesId = previousSeries.seriesId;
182
+ }
183
+ const maxLength = useCurrentSeriesMaxLength ? processedSeries[type]?.series[seriesId]?.data.length ?? 0 : getMaxSeriesLength(processedSeries, compatibleSeriesTypes);
184
+ const visibleDataIndex = findVisibleDataIndex({
185
+ processedSeries,
186
+ type,
187
+ seriesId,
188
+ startIndex: maxLength - 1,
189
+ dataLength: maxLength,
190
+ direction: -1,
191
+ allowCycles: false
192
+ });
193
+ if (visibleDataIndex === null) {
194
+ return null;
195
+ }
196
+ return {
197
+ type: type,
198
+ seriesId,
199
+ dataIndex: visibleDataIndex
200
+ };
201
+ };
202
+ }
120
203
  export function createGetNextSeriesFocusedItem(
121
204
  /**
122
205
  * The set of series types compatible with this navigation action.
@@ -188,4 +271,156 @@ compatibleSeriesTypes) {
188
271
  dataIndex: visibleDataIndex
189
272
  };
190
273
  };
274
+ }
275
+ export function createGetFirstSeriesFirstIndexFocusedItem(
276
+ /**
277
+ * The set of series types compatible with this navigation action.
278
+ */
279
+ compatibleSeriesTypes,
280
+ /**
281
+ * If true, series max index is defined by the current series length and not all series.
282
+ */
283
+ useCurrentSeriesMaxLength = true) {
284
+ return function getFirstSeriesFirstIndexFocusedItem(_currentItem, state) {
285
+ const processedSeries = selectorChartSeriesProcessed(state);
286
+ const firstSeries = getNonEmptySeriesArray(processedSeries, compatibleSeriesTypes)[0];
287
+ if (firstSeries === undefined) {
288
+ return null;
289
+ }
290
+ const {
291
+ type,
292
+ seriesId
293
+ } = firstSeries;
294
+ const maxLength = useCurrentSeriesMaxLength ? processedSeries[type]?.series[seriesId]?.data.length ?? 0 : getMaxSeriesLength(processedSeries, compatibleSeriesTypes);
295
+ const visibleDataIndex = findVisibleDataIndex({
296
+ processedSeries,
297
+ type,
298
+ seriesId,
299
+ startIndex: 0,
300
+ dataLength: maxLength,
301
+ direction: 1,
302
+ allowCycles: false
303
+ });
304
+ if (visibleDataIndex === null) {
305
+ return null;
306
+ }
307
+ return {
308
+ type,
309
+ seriesId,
310
+ dataIndex: visibleDataIndex
311
+ };
312
+ };
313
+ }
314
+ export function createGetLastSeriesLastIndexFocusedItem(
315
+ /**
316
+ * The set of series types compatible with this navigation action.
317
+ */
318
+ compatibleSeriesTypes,
319
+ /**
320
+ * If true, series max index is defined by the current series length and not all series.
321
+ */
322
+ useCurrentSeriesMaxLength = true) {
323
+ return function getLastSeriesLastIndexFocusedItem(_currentItem, state) {
324
+ const processedSeries = selectorChartSeriesProcessed(state);
325
+ const nonEmptySeries = getNonEmptySeriesArray(processedSeries, compatibleSeriesTypes);
326
+ const lastSeries = nonEmptySeries[nonEmptySeries.length - 1];
327
+ if (lastSeries === undefined) {
328
+ return null;
329
+ }
330
+ const {
331
+ type,
332
+ seriesId
333
+ } = lastSeries;
334
+ const maxLength = useCurrentSeriesMaxLength ? processedSeries[type]?.series[seriesId]?.data.length ?? 0 : getMaxSeriesLength(processedSeries, compatibleSeriesTypes);
335
+ const visibleDataIndex = findVisibleDataIndex({
336
+ processedSeries,
337
+ type,
338
+ seriesId,
339
+ startIndex: maxLength - 1,
340
+ dataLength: maxLength,
341
+ direction: -1,
342
+ allowCycles: false
343
+ });
344
+ if (visibleDataIndex === null) {
345
+ return null;
346
+ }
347
+ return {
348
+ type,
349
+ seriesId,
350
+ dataIndex: visibleDataIndex
351
+ };
352
+ };
353
+ }
354
+ export function createGetFirstSeriesFocusedItem(
355
+ /**
356
+ * The set of series types compatible with this navigation action.
357
+ */
358
+ compatibleSeriesTypes) {
359
+ return function getFirstSeriesFocusedItem(currentItem, state) {
360
+ const processedSeries = selectorChartSeriesProcessed(state);
361
+ const firstSeries = getNonEmptySeriesArray(processedSeries, compatibleSeriesTypes)[0];
362
+ if (firstSeries === undefined) {
363
+ return null;
364
+ }
365
+ const {
366
+ type,
367
+ seriesId
368
+ } = firstSeries;
369
+ const data = processedSeries[type].series[seriesId].data;
370
+ const startIndex = currentItem?.dataIndex == null ? 0 : Math.min(currentItem.dataIndex, data.length - 1);
371
+ const visibleDataIndex = findVisibleDataIndex({
372
+ processedSeries,
373
+ type,
374
+ seriesId,
375
+ startIndex,
376
+ dataLength: data.length,
377
+ direction: 1,
378
+ allowCycles: true
379
+ });
380
+ if (visibleDataIndex === null) {
381
+ return null;
382
+ }
383
+ return {
384
+ type,
385
+ seriesId,
386
+ dataIndex: visibleDataIndex
387
+ };
388
+ };
389
+ }
390
+ export function createGetLastSeriesFocusedItem(
391
+ /**
392
+ * The set of series types compatible with this navigation action.
393
+ */
394
+ compatibleSeriesTypes) {
395
+ return function getLastSeriesFocusedItem(currentItem, state) {
396
+ const processedSeries = selectorChartSeriesProcessed(state);
397
+ const nonEmptySeries = getNonEmptySeriesArray(processedSeries, compatibleSeriesTypes);
398
+ const lastSeries = nonEmptySeries[nonEmptySeries.length - 1];
399
+ if (lastSeries === undefined) {
400
+ return null;
401
+ }
402
+ const {
403
+ type,
404
+ seriesId
405
+ } = lastSeries;
406
+ const data = processedSeries[type].series[seriesId].data;
407
+ const startIndex = currentItem?.dataIndex == null ? data.length - 1 : Math.min(currentItem.dataIndex, data.length - 1);
408
+ const visibleDataIndex = findVisibleDataIndex({
409
+ processedSeries,
410
+ type,
411
+ seriesId,
412
+ startIndex,
413
+ dataLength: data.length,
414
+ direction: -1,
415
+ allowCycles: true
416
+ });
417
+ if (visibleDataIndex === null) {
418
+ return null;
419
+ }
420
+ return {
421
+ type,
422
+ seriesId,
423
+ dataIndex: visibleDataIndex
424
+ };
425
+ };
191
426
  }
@@ -1,4 +1,4 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ import _extends from "@babel/runtime/helpers/extends";
2
2
  import { styled } from '@mui/material/styles';
3
3
  import { axisClasses } from "../../ChartsAxis/axisClasses.mjs";
4
4
  export const AxisRoot = styled('g', {
@@ -1,4 +1,4 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ import _extends from "@babel/runtime/helpers/extends";
2
2
  import { interpolateDate, interpolateNumber } from '@mui/x-charts-vendor/d3-interpolate';
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  const PX_PRECISION = 10;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
5
5
  const _excluded = ["slots", "slotProps"],
6
6
  _excluded2 = ["ownerState"];
7
7
  import { useTheme, useThemeProps } from '@mui/material/styles';
@@ -56,8 +56,7 @@ var _jsxRuntime = require("react/jsx-runtime");
56
56
  * @param {Record<string, any>} options.defaultProps A set of defaults for the component, will be deep merged with the props.
57
57
  * @param {Function} options.classesResolver A function that returns the classes for the component. It receives the props, after theme props and defaults have been applied. And the theme object as the second argument.
58
58
  * @param InComponent The component to render if the slot is not provided.
59
- */
60
- const consumeThemeProps = (name, options, InComponent) => /*#__PURE__*/React.forwardRef(function ConsumeThemeInternal(props, ref) {
59
+ */const consumeThemeProps = (name, options, InComponent) => /*#__PURE__*/React.forwardRef(function ConsumeThemeInternal(props, ref) {
61
60
  const themedProps = (0, _styles.useThemeProps)({
62
61
  props,
63
62
  // eslint-disable-next-line mui/material-ui-name-matches-component-name
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
4
  import { useTheme, useThemeProps } from '@mui/material/styles';
5
5
  import resolveProps from '@mui/utils/resolveProps';
6
6
  import * as React from 'react';
@@ -19,6 +19,22 @@ function createCommonKeyboardFocusHandler(outSeriesTypes, allowCycles, useCurren
19
19
  return (0, _commonNextFocusItem.createGetPreviousSeriesFocusedItem)(outSeriesTypes);
20
20
  case 'ArrowUp':
21
21
  return (0, _commonNextFocusItem.createGetNextSeriesFocusedItem)(outSeriesTypes);
22
+ case 'Home':
23
+ // Ctrl+Home (⌘+Home on macOS) jumps to the first item of the first series.
24
+ if (event.ctrlKey || event.metaKey) {
25
+ return (0, _commonNextFocusItem.createGetFirstSeriesFirstIndexFocusedItem)(outSeriesTypes, useCurrentSeriesMaxLength);
26
+ }
27
+ return (0, _commonNextFocusItem.createGetFirstIndexFocusedItem)(outSeriesTypes, useCurrentSeriesMaxLength);
28
+ case 'End':
29
+ // Ctrl+End (⌘+End on macOS) jumps to the last item of the last series.
30
+ if (event.ctrlKey || event.metaKey) {
31
+ return (0, _commonNextFocusItem.createGetLastSeriesLastIndexFocusedItem)(outSeriesTypes, useCurrentSeriesMaxLength);
32
+ }
33
+ return (0, _commonNextFocusItem.createGetLastIndexFocusedItem)(outSeriesTypes, useCurrentSeriesMaxLength);
34
+ case 'PageUp':
35
+ return (0, _commonNextFocusItem.createGetFirstSeriesFocusedItem)(outSeriesTypes);
36
+ case 'PageDown':
37
+ return (0, _commonNextFocusItem.createGetLastSeriesFocusedItem)(outSeriesTypes);
22
38
  default:
23
39
  return null;
24
40
  }
@@ -1,4 +1,4 @@
1
- import { createGetNextIndexFocusedItem, createGetPreviousIndexFocusedItem, createGetNextSeriesFocusedItem, createGetPreviousSeriesFocusedItem } from "./commonNextFocusItem.mjs";
1
+ import { createGetNextIndexFocusedItem, createGetPreviousIndexFocusedItem, createGetFirstIndexFocusedItem, createGetLastIndexFocusedItem, createGetNextSeriesFocusedItem, createGetPreviousSeriesFocusedItem, createGetFirstSeriesFirstIndexFocusedItem, createGetLastSeriesLastIndexFocusedItem, createGetFirstSeriesFocusedItem, createGetLastSeriesFocusedItem } from "./commonNextFocusItem.mjs";
2
2
 
3
3
  /**
4
4
  * Create a keyboard focus handler for common use cases where focused item are defined by the series is and data index.
@@ -14,6 +14,22 @@ export function createCommonKeyboardFocusHandler(outSeriesTypes, allowCycles, us
14
14
  return createGetPreviousSeriesFocusedItem(outSeriesTypes);
15
15
  case 'ArrowUp':
16
16
  return createGetNextSeriesFocusedItem(outSeriesTypes);
17
+ case 'Home':
18
+ // Ctrl+Home (⌘+Home on macOS) jumps to the first item of the first series.
19
+ if (event.ctrlKey || event.metaKey) {
20
+ return createGetFirstSeriesFirstIndexFocusedItem(outSeriesTypes, useCurrentSeriesMaxLength);
21
+ }
22
+ return createGetFirstIndexFocusedItem(outSeriesTypes, useCurrentSeriesMaxLength);
23
+ case 'End':
24
+ // Ctrl+End (⌘+End on macOS) jumps to the last item of the last series.
25
+ if (event.ctrlKey || event.metaKey) {
26
+ return createGetLastSeriesLastIndexFocusedItem(outSeriesTypes, useCurrentSeriesMaxLength);
27
+ }
28
+ return createGetLastIndexFocusedItem(outSeriesTypes, useCurrentSeriesMaxLength);
29
+ case 'PageUp':
30
+ return createGetFirstSeriesFocusedItem(outSeriesTypes);
31
+ case 'PageDown':
32
+ return createGetLastSeriesFocusedItem(outSeriesTypes);
17
33
  default:
18
34
  return null;
19
35
  }
@@ -1,4 +1,4 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ import _extends from "@babel/runtime/helpers/extends";
2
2
  export function defaultizeMargin(input, defaultMargin) {
3
3
  if (typeof input === 'number') {
4
4
  return {