@mui/x-charts 7.17.0 → 7.19.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 (180) hide show
  1. package/BarChart/BarChart.js +10 -0
  2. package/BarChart/BarElement.d.ts +1 -1
  3. package/BarChart/BarLabel/BarLabel.d.ts +1 -1
  4. package/BarChart/formatter.js +5 -4
  5. package/CHANGELOG.md +208 -5
  6. package/ChartContainer/useDefaultizeAxis.d.ts +4 -4
  7. package/ChartContainer/useDefaultizeAxis.js +1 -1
  8. package/ChartsAxis/ChartsAxis.js +4 -4
  9. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -1
  10. package/ChartsGrid/styledCommonents.d.ts +2 -2
  11. package/ChartsLegend/ChartsLegend.d.ts +2 -2
  12. package/ChartsLegend/DefaultChartsLegend.js +1 -1
  13. package/ChartsLegend/LegendPerItem.d.ts +1 -1
  14. package/ChartsLegend/LegendPerItem.js +1 -1
  15. package/ChartsLegend/PiecewiseColorLegend.js +1 -1
  16. package/ChartsReferenceLine/common.d.ts +1 -1
  17. package/ChartsTooltip/ChartsTooltipTable.d.ts +5 -5
  18. package/ChartsTooltip/index.d.ts +3 -0
  19. package/ChartsTooltip/index.js +4 -1
  20. package/ChartsTooltip/useAxisTooltip.d.ts +18 -0
  21. package/ChartsTooltip/useAxisTooltip.js +84 -0
  22. package/ChartsTooltip/useItemTooltip.d.ts +10 -0
  23. package/ChartsTooltip/useItemTooltip.js +64 -0
  24. package/ChartsTooltip/utils.d.ts +2 -1
  25. package/LineChart/AnimatedArea.d.ts +1 -1
  26. package/LineChart/AnimatedArea.js +9 -45
  27. package/LineChart/AnimatedLine.d.ts +1 -1
  28. package/LineChart/AnimatedLine.js +9 -46
  29. package/LineChart/AppearingMask.d.ts +12 -0
  30. package/LineChart/AppearingMask.js +42 -0
  31. package/LineChart/LineChart.js +10 -0
  32. package/LineChart/formatter.js +5 -5
  33. package/PieChart/PieChart.js +10 -0
  34. package/ResponsiveChartContainer/ResizableContainer.d.ts +1 -1
  35. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +10 -0
  36. package/ResponsiveChartContainer/ResponsiveChartContainer.js +10 -0
  37. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +1 -1
  38. package/ResponsiveChartContainer/useChartContainerDimensions.js +32 -8
  39. package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +1 -1
  40. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +3 -2
  41. package/ScatterChart/ScatterChart.js +10 -0
  42. package/SparkLineChart/SparkLineChart.d.ts +1 -1
  43. package/SparkLineChart/SparkLineChart.js +10 -0
  44. package/context/CartesianProvider/CartesianProvider.js +3 -3
  45. package/context/CartesianProvider/defaultizeAxis.d.ts +4 -4
  46. package/context/CartesianProvider/getAxisExtremum.d.ts +1 -1
  47. package/context/CartesianProvider/getAxisExtremum.js +5 -4
  48. package/context/CartesianProvider/index.d.ts +0 -5
  49. package/context/CartesianProvider/index.js +1 -6
  50. package/context/PluginProvider/ExtremumGetter.types.d.ts +1 -0
  51. package/context/PluginProvider/Plugin.types.d.ts +4 -0
  52. package/context/PluginProvider/PluginContext.js +3 -1
  53. package/context/PluginProvider/index.d.ts +2 -0
  54. package/context/PluginProvider/index.js +3 -1
  55. package/context/PluginProvider/mergePlugins.d.ts +14 -4
  56. package/context/PluginProvider/mergePlugins.js +11 -1
  57. package/context/PluginProvider/useRadiusExtremumGetter.d.ts +4 -0
  58. package/context/PluginProvider/useRadiusExtremumGetter.js +17 -0
  59. package/context/PluginProvider/useRotationExtremumGetter.d.ts +4 -0
  60. package/context/PluginProvider/useRotationExtremumGetter.js +17 -0
  61. package/context/PolarProvider/Polar.types.d.ts +42 -0
  62. package/context/PolarProvider/Polar.types.js +1 -0
  63. package/context/PolarProvider/PolarContext.d.ts +4 -0
  64. package/context/PolarProvider/PolarContext.js +13 -0
  65. package/context/PolarProvider/PolarProvider.d.ts +4 -0
  66. package/context/PolarProvider/PolarProvider.js +49 -0
  67. package/context/PolarProvider/getAxisExtremum.d.ts +4 -0
  68. package/context/PolarProvider/getAxisExtremum.js +20 -0
  69. package/context/PolarProvider/index.d.ts +0 -0
  70. package/context/PolarProvider/index.js +0 -0
  71. package/context/PolarProvider/usePolarContext.d.ts +2 -0
  72. package/context/PolarProvider/usePolarContext.js +10 -0
  73. package/context/ZAxisContextProvider.js +1 -1
  74. package/hooks/useReducedMotion.js +2 -2
  75. package/hooks/useSeries.d.ts +4 -4
  76. package/hooks/useSeries.js +4 -4
  77. package/index.js +1 -1
  78. package/internals/components/AxisSharedComponents.d.ts +1 -1
  79. package/internals/computeAxisValue.d.ts +38 -0
  80. package/{context/CartesianProvider/computeValue.js → internals/computeAxisValue.js} +28 -15
  81. package/internals/configInit.d.ts +1 -1
  82. package/internals/defaultizeColor.d.ts +8 -8
  83. package/internals/domUtils.js +1 -1
  84. package/internals/geometry.js +3 -5
  85. package/internals/getPercentageValue.js +1 -1
  86. package/internals/index.d.ts +1 -0
  87. package/internals/index.js +1 -0
  88. package/models/axis.d.ts +20 -0
  89. package/models/seriesType/config.d.ts +6 -2
  90. package/models/seriesType/line.d.ts +5 -0
  91. package/modern/BarChart/BarChart.js +10 -0
  92. package/modern/BarChart/formatter.js +5 -4
  93. package/modern/ChartContainer/useDefaultizeAxis.js +1 -1
  94. package/modern/ChartsAxis/ChartsAxis.js +4 -4
  95. package/modern/ChartsLegend/DefaultChartsLegend.js +1 -1
  96. package/modern/ChartsLegend/LegendPerItem.js +1 -1
  97. package/modern/ChartsLegend/PiecewiseColorLegend.js +1 -1
  98. package/modern/ChartsTooltip/index.js +4 -1
  99. package/modern/ChartsTooltip/useAxisTooltip.js +84 -0
  100. package/modern/ChartsTooltip/useItemTooltip.js +64 -0
  101. package/modern/LineChart/AnimatedArea.js +9 -45
  102. package/modern/LineChart/AnimatedLine.js +9 -46
  103. package/modern/LineChart/AppearingMask.js +42 -0
  104. package/modern/LineChart/LineChart.js +10 -0
  105. package/modern/LineChart/formatter.js +5 -5
  106. package/modern/PieChart/PieChart.js +10 -0
  107. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +10 -0
  108. package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +32 -8
  109. package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +3 -2
  110. package/modern/ScatterChart/ScatterChart.js +10 -0
  111. package/modern/SparkLineChart/SparkLineChart.js +10 -0
  112. package/modern/context/CartesianProvider/CartesianProvider.js +3 -3
  113. package/modern/context/CartesianProvider/getAxisExtremum.js +5 -4
  114. package/modern/context/CartesianProvider/index.js +1 -6
  115. package/modern/context/PluginProvider/PluginContext.js +3 -1
  116. package/modern/context/PluginProvider/index.js +3 -1
  117. package/modern/context/PluginProvider/mergePlugins.js +11 -1
  118. package/modern/context/PluginProvider/useRadiusExtremumGetter.js +17 -0
  119. package/modern/context/PluginProvider/useRotationExtremumGetter.js +17 -0
  120. package/modern/context/PolarProvider/Polar.types.js +1 -0
  121. package/modern/context/PolarProvider/PolarContext.js +13 -0
  122. package/modern/context/PolarProvider/PolarProvider.js +49 -0
  123. package/modern/context/PolarProvider/getAxisExtremum.js +20 -0
  124. package/modern/context/PolarProvider/index.js +0 -0
  125. package/modern/context/PolarProvider/usePolarContext.js +10 -0
  126. package/modern/context/ZAxisContextProvider.js +1 -1
  127. package/modern/hooks/useReducedMotion.js +2 -2
  128. package/modern/hooks/useSeries.js +4 -4
  129. package/modern/index.js +1 -1
  130. package/modern/{context/CartesianProvider/computeValue.js → internals/computeAxisValue.js} +28 -15
  131. package/modern/internals/domUtils.js +1 -1
  132. package/modern/internals/geometry.js +3 -5
  133. package/modern/internals/getPercentageValue.js +1 -1
  134. package/modern/internals/index.js +1 -0
  135. package/node/BarChart/BarChart.js +10 -0
  136. package/node/BarChart/formatter.js +5 -4
  137. package/node/ChartContainer/useDefaultizeAxis.js +1 -1
  138. package/node/ChartsAxis/ChartsAxis.js +4 -4
  139. package/node/ChartsLegend/DefaultChartsLegend.js +1 -1
  140. package/node/ChartsLegend/LegendPerItem.js +1 -1
  141. package/node/ChartsLegend/PiecewiseColorLegend.js +1 -1
  142. package/node/ChartsTooltip/index.js +42 -1
  143. package/node/ChartsTooltip/useAxisTooltip.js +90 -0
  144. package/node/ChartsTooltip/useItemTooltip.js +71 -0
  145. package/node/LineChart/AnimatedArea.js +8 -44
  146. package/node/LineChart/AnimatedLine.js +8 -45
  147. package/node/LineChart/AppearingMask.js +48 -0
  148. package/node/LineChart/LineChart.js +10 -0
  149. package/node/LineChart/formatter.js +5 -5
  150. package/node/PieChart/PieChart.js +10 -0
  151. package/node/ResponsiveChartContainer/ResponsiveChartContainer.js +10 -0
  152. package/node/ResponsiveChartContainer/useChartContainerDimensions.js +32 -8
  153. package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +3 -2
  154. package/node/ScatterChart/ScatterChart.js +10 -0
  155. package/node/SparkLineChart/SparkLineChart.js +10 -0
  156. package/node/context/CartesianProvider/CartesianProvider.js +3 -3
  157. package/node/context/CartesianProvider/getAxisExtremum.js +5 -4
  158. package/node/context/CartesianProvider/index.js +1 -13
  159. package/node/context/PluginProvider/PluginContext.js +3 -1
  160. package/node/context/PluginProvider/index.js +22 -0
  161. package/node/context/PluginProvider/mergePlugins.js +11 -1
  162. package/node/context/PluginProvider/useRadiusExtremumGetter.js +23 -0
  163. package/node/context/PluginProvider/useRotationExtremumGetter.js +23 -0
  164. package/node/context/PolarProvider/Polar.types.js +5 -0
  165. package/node/context/PolarProvider/PolarContext.js +20 -0
  166. package/node/context/PolarProvider/PolarProvider.js +54 -0
  167. package/node/context/PolarProvider/getAxisExtremum.js +27 -0
  168. package/node/context/PolarProvider/index.js +1 -0
  169. package/node/context/PolarProvider/usePolarContext.js +17 -0
  170. package/node/context/ZAxisContextProvider.js +1 -1
  171. package/node/hooks/useReducedMotion.js +2 -2
  172. package/node/hooks/useSeries.js +4 -4
  173. package/node/index.js +1 -1
  174. package/node/{context/CartesianProvider/computeValue.js → internals/computeAxisValue.js} +29 -16
  175. package/node/internals/domUtils.js +1 -1
  176. package/node/internals/geometry.js +3 -5
  177. package/node/internals/getPercentageValue.js +1 -1
  178. package/node/internals/index.js +12 -0
  179. package/package.json +4 -4
  180. package/context/CartesianProvider/computeValue.d.ts +0 -30
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PolarContext = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ const PolarContext = exports.PolarContext = /*#__PURE__*/React.createContext({
10
+ isInitialized: false,
11
+ data: {
12
+ rotationAxis: {},
13
+ radiusAxis: {},
14
+ rotationAxisIds: [],
15
+ radiusAxisIds: []
16
+ }
17
+ });
18
+ if (process.env.NODE_ENV !== 'production') {
19
+ PolarContext.displayName = 'PolarContext';
20
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PolarProvider = PolarProvider;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _computeAxisValue = require("../../internals/computeAxisValue");
11
+ var _useDrawingArea = require("../../hooks/useDrawingArea");
12
+ var _useSeries = require("../../hooks/useSeries");
13
+ var _PolarContext = require("./PolarContext");
14
+ var _useRadiusExtremumGetter = require("../PluginProvider/useRadiusExtremumGetter");
15
+ var _useRotationExtremumGetter = require("../PluginProvider/useRotationExtremumGetter");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function PolarProvider(props) {
18
+ const {
19
+ rotationAxis,
20
+ radiusAxis,
21
+ children
22
+ } = props;
23
+ const formattedSeries = (0, _useSeries.useSeries)();
24
+ const drawingArea = (0, _useDrawingArea.useDrawingArea)();
25
+ const rotationExtremumGetters = (0, _useRotationExtremumGetter.useRotationExtremumGetter)();
26
+ const radiusExtremumGetters = (0, _useRadiusExtremumGetter.useRadiusExtremumGetter)();
27
+ const rotationValues = React.useMemo(() => (0, _computeAxisValue.computeAxisValue)({
28
+ drawingArea,
29
+ formattedSeries,
30
+ axis: rotationAxis,
31
+ extremumGetters: rotationExtremumGetters,
32
+ axisDirection: 'rotation'
33
+ }), [drawingArea, formattedSeries, rotationAxis, rotationExtremumGetters]);
34
+ const radiusValues = React.useMemo(() => (0, _computeAxisValue.computeAxisValue)({
35
+ drawingArea,
36
+ formattedSeries,
37
+ axis: radiusAxis,
38
+ extremumGetters: radiusExtremumGetters,
39
+ axisDirection: 'radius'
40
+ }), [drawingArea, formattedSeries, radiusAxis, radiusExtremumGetters]);
41
+ const value = React.useMemo(() => ({
42
+ isInitialized: true,
43
+ data: {
44
+ rotationAxis: rotationValues.axis,
45
+ radiusAxis: radiusValues.axis,
46
+ rotationAxisIds: rotationValues.axisIds,
47
+ radiusAxisIds: radiusValues.axisIds
48
+ }
49
+ }), [rotationValues, radiusValues]);
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PolarContext.PolarContext.Provider, {
51
+ value: value,
52
+ children: children
53
+ });
54
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAxisExtremum = void 0;
7
+ const axisExtremumCallback = (acc, chartType, axis, getters, axisIndex, formattedSeries) => {
8
+ const getter = getters[chartType];
9
+ const series = formattedSeries[chartType]?.series ?? {};
10
+ const [minChartTypeData, maxChartTypeData] = getter?.({
11
+ series,
12
+ axis,
13
+ axisIndex,
14
+ isDefaultAxis: axisIndex === 0
15
+ }) ?? [Infinity, -Infinity];
16
+ const [minData, maxData] = acc;
17
+ return [Math.min(minChartTypeData, minData), Math.max(maxChartTypeData, maxData)];
18
+ };
19
+ const getAxisExtremum = (axis, getters, axisIndex, formattedSeries) => {
20
+ const charTypes = Object.keys(getters);
21
+ const extremums = charTypes.reduce((acc, charType) => axisExtremumCallback(acc, charType, axis, getters, axisIndex, formattedSeries), [Infinity, -Infinity]);
22
+ if (Number.isNaN(extremums[0]) || Number.isNaN(extremums[1])) {
23
+ return [Infinity, -Infinity];
24
+ }
25
+ return extremums;
26
+ };
27
+ exports.getAxisExtremum = getAxisExtremum;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.usePolarContext = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _PolarContext = require("./PolarContext");
11
+ const usePolarContext = () => {
12
+ const {
13
+ data
14
+ } = React.useContext(_PolarContext.PolarContext);
15
+ return data;
16
+ };
17
+ exports.usePolarContext = usePolarContext;
@@ -32,7 +32,7 @@ function ZAxisContextProvider(props) {
32
32
  return axisConfig;
33
33
  }
34
34
  if (dataset === undefined) {
35
- throw Error('MUI X: z-axis uses `dataKey` but no `dataset` is provided.');
35
+ throw new Error('MUI X: z-axis uses `dataKey` but no `dataset` is provided.');
36
36
  }
37
37
  return (0, _extends2.default)({}, axisConfig, {
38
38
  data: dataset.map(d => d[dataKey])
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.useReducedMotion = void 0;
8
8
  var _web = require("@react-spring/web");
9
- const handleMediaChange = e => {
9
+ const handleMediaChange = event => {
10
10
  _web.Globals.assign({
11
11
  // Modification such the react-spring implementation such that this hook can remove animation but never activate animation.
12
- skipAnimation: e.matches || undefined
12
+ skipAnimation: event.matches || undefined
13
13
  });
14
14
  };
15
15
 
@@ -34,7 +34,7 @@ function useSeries() {
34
34
  * The returned object contains:
35
35
  * - series: a mapping from ids to series attributes.
36
36
  * - seriesOrder: the array of series ids.
37
- * @returns { series: Record<SeriesId, DefaultizedPieSeriesType>; seriesOrder: SeriesId[]; } | undefined pieSeries
37
+ * @returns {{ series: Record<SeriesId, DefaultizedPieSeriesType>; seriesOrder: SeriesId[]; } | undefined} pieSeries
38
38
  */
39
39
  function usePieSeries() {
40
40
  const series = useSeries();
@@ -46,7 +46,7 @@ function usePieSeries() {
46
46
  * The returned object contains:
47
47
  * - series: a mapping from ids to series attributes.
48
48
  * - seriesOrder: the array of series ids.
49
- * @returns { series: Record<SeriesId, DefaultizedLineSeriesType>; seriesOrder: SeriesId[]; } | undefined lineSeries
49
+ * @returns {{ series: Record<SeriesId, DefaultizedLineSeriesType>; seriesOrder: SeriesId[]; } | undefined} lineSeries
50
50
  */
51
51
  function useLineSeries() {
52
52
  const series = useSeries();
@@ -58,7 +58,7 @@ function useLineSeries() {
58
58
  * The returned object contains:
59
59
  * - series: a mapping from ids to series attributes.
60
60
  * - seriesOrder: the array of series ids.
61
- * @returns { series: Record<SeriesId, DefaultizedBarSeriesType>; seriesOrder: SeriesId[]; } | undefined barSeries
61
+ * @returns {{ series: Record<SeriesId, DefaultizedBarSeriesType>; seriesOrder: SeriesId[]; } | undefined} barSeries
62
62
  */
63
63
  function useBarSeries() {
64
64
  const series = useSeries();
@@ -70,7 +70,7 @@ function useBarSeries() {
70
70
  * The returned object contains:
71
71
  * - series: a mapping from ids to series attributes.
72
72
  * - seriesOrder: the array of series ids.
73
- * @returns { series: Record<SeriesId, DefaultizedScatterSeriesType>; seriesOrder: SeriesId[]; } | undefined scatterSeries
73
+ * @returns {{ series: Record<SeriesId, DefaultizedScatterSeriesType>; seriesOrder: SeriesId[]; } | undefined} scatterSeries
74
74
  */
75
75
  function useScatterSeries() {
76
76
  const series = useSeries();
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v7.17.0
2
+ * @mui/x-charts v7.19.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -4,19 +4,33 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.computeValue = computeValue;
7
+ exports.computeAxisValue = computeAxisValue;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _d3Scale = require("@mui/x-charts-vendor/d3-scale");
10
- var _axis = require("../../models/axis");
11
- var _colorScale = require("../../internals/colorScale");
12
- var _useTicks = require("../../hooks/useTicks");
13
- var _getScale = require("../../internals/getScale");
14
- var _zoom = require("./zoom");
15
- var _getAxisExtremum = require("./getAxisExtremum");
16
- const getRange = (drawingArea, axisDirection, isReverse) => {
10
+ var _axis = require("../models/axis");
11
+ var _colorScale = require("./colorScale");
12
+ var _useTicks = require("../hooks/useTicks");
13
+ var _getScale = require("./getScale");
14
+ var _zoom = require("../context/CartesianProvider/zoom");
15
+ var _getAxisExtremum = require("../context/CartesianProvider/getAxisExtremum");
16
+ function getRange(drawingArea, axisDirection, axis) {
17
+ if (axisDirection === 'rotation') {
18
+ const {
19
+ startAngle = 0,
20
+ endAngle = startAngle + 360
21
+ } = axis;
22
+ return axis.reverse ? [Math.PI * startAngle / 180, Math.PI * endAngle / 180] : [Math.PI * endAngle / 180, Math.PI * startAngle / 180];
23
+ }
24
+ if (axisDirection === 'radius') {
25
+ const {
26
+ minRadius = 0,
27
+ maxRadius = Math.min(drawingArea.width, drawingArea.height) / 2
28
+ } = axis;
29
+ return [minRadius, maxRadius];
30
+ }
17
31
  const range = axisDirection === 'x' ? [drawingArea.left, drawingArea.left + drawingArea.width] : [drawingArea.top + drawingArea.height, drawingArea.top];
18
- return isReverse ? range.reverse() : range;
19
- };
32
+ return axis.reverse ? [range[1], range[0]] : range;
33
+ }
20
34
  const isDateData = data => data?.[0] instanceof Date;
21
35
  function createDateFormatter(axis, range) {
22
36
  const timeScale = (0, _d3Scale.scaleTime)(axis.data, range);
@@ -26,7 +40,7 @@ function createDateFormatter(axis, range) {
26
40
  }
27
41
  const DEFAULT_CATEGORY_GAP_RATIO = 0.2;
28
42
  const DEFAULT_BAR_GAP_RATIO = 0.1;
29
- function computeValue({
43
+ function computeAxisValue({
30
44
  drawingArea,
31
45
  formattedSeries,
32
46
  axis: allAxis,
@@ -39,21 +53,20 @@ function computeValue({
39
53
  const completeAxis = {};
40
54
  allAxis.forEach((eachAxis, axisIndex) => {
41
55
  const axis = eachAxis;
42
- const isDefaultAxis = axisIndex === 0;
43
56
  const zoomOption = zoomOptions?.[axis.id];
44
57
  const zoom = zoomData?.find(({
45
58
  axisId
46
59
  }) => axisId === axis.id);
47
60
  const zoomRange = zoom ? [zoom.start, zoom.end] : [0, 100];
48
- const range = getRange(drawingArea, axisDirection, axis.reverse);
49
- const [minData, maxData] = (0, _getAxisExtremum.getAxisExtremum)(axis, extremumGetters, isDefaultAxis, formattedSeries, zoom === undefined && !zoomOption ? getFilters : undefined // Do not apply filtering if zoom is already defined.
61
+ const range = getRange(drawingArea, axisDirection, axis);
62
+ const [minData, maxData] = (0, _getAxisExtremum.getAxisExtremum)(axis, extremumGetters, axisIndex, formattedSeries, zoom === undefined && !zoomOption ? getFilters : undefined // Do not apply filtering if zoom is already defined.
50
63
  );
51
64
  const data = axis.data ?? [];
52
65
  if ((0, _axis.isBandScaleConfig)(axis)) {
53
66
  const categoryGapRatio = axis.categoryGapRatio ?? DEFAULT_CATEGORY_GAP_RATIO;
54
67
  const barGapRatio = axis.barGapRatio ?? DEFAULT_BAR_GAP_RATIO;
55
68
  // Reverse range because ordinal scales are presented from top to bottom on y-axis
56
- const scaleRange = axisDirection === 'x' ? range : [range[1], range[0]];
69
+ const scaleRange = axisDirection === 'y' ? [range[1], range[0]] : range;
57
70
  const zoomedRange = (0, _zoom.zoomScaleRange)(scaleRange, zoomRange);
58
71
  completeAxis[axis.id] = (0, _extends2.default)({
59
72
  categoryGapRatio,
@@ -72,7 +85,7 @@ function computeValue({
72
85
  }
73
86
  }
74
87
  if ((0, _axis.isPointScaleConfig)(axis)) {
75
- const scaleRange = axisDirection === 'x' ? range : [...range].reverse();
88
+ const scaleRange = axisDirection === 'y' ? [...range].reverse() : range;
76
89
  const zoomedRange = (0, _zoom.zoomScaleRange)(scaleRange, zoomRange);
77
90
  completeAxis[axis.id] = (0, _extends2.default)({}, axis, {
78
91
  data,
@@ -122,7 +122,7 @@ const getStringSize = (text, style = {}) => {
122
122
  measurementSpan.textContent = '';
123
123
  }, 0);
124
124
  return result;
125
- } catch (e) {
125
+ } catch {
126
126
  return {
127
127
  width: 0,
128
128
  height: 0
@@ -4,10 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getMinXTranslation = getMinXTranslation;
7
+ var _warning = require("@mui/x-internals/warning");
7
8
  const ANGLE_APPROX = 5; // Angle (in deg) for which we approximate the rectangle as perfectly horizontal/vertical
8
9
 
9
- let warnedOnce = false;
10
-
11
10
  /**
12
11
  * Return the minimal translation along the x-axis to avoid overflow of a rectangle of a given width, height, and rotation.
13
12
  * This assumes that all rectangles have the same height and angle between -90 and 90.
@@ -18,9 +17,8 @@ let warnedOnce = false;
18
17
  */
19
18
  function getMinXTranslation(width, height, angle = 0) {
20
19
  if (process.env.NODE_ENV !== 'production') {
21
- if (!warnedOnce && angle > 90 && angle < -90) {
22
- warnedOnce = true;
23
- console.warn([`MUI X: It seems you applied an angle larger than 90° or smaller than -90° to an axis text.`, `This could cause some text overlapping.`, `If you encounter a use case where it's needed, please open an issue.`].join('\n'));
20
+ if (angle > 90 && angle < -90) {
21
+ (0, _warning.warnOnce)([`MUI X: It seems you applied an angle larger than 90° or smaller than -90° to an axis text.`, `This could cause some text overlapping.`, `If you encounter a use case where it's needed, please open an issue.`]);
24
22
  }
25
23
  }
26
24
  const standardAngle = Math.min(Math.abs(angle) % 180, Math.abs(Math.abs(angle) % 180 - 180) % 180); // Map from R to [0, 90]
@@ -30,5 +30,5 @@ function getPercentageValue(value, refValue) {
30
30
  return val;
31
31
  }
32
32
  }
33
- throw Error(`MUI X: Received an unknown value "${value}". It should be a number, or a string with a percentage value.`);
33
+ throw new Error(`MUI X: Received an unknown value "${value}". It should be a number, or a string with a percentage value.`);
34
34
  }
@@ -200,6 +200,18 @@ Object.keys(_getScale).forEach(function (key) {
200
200
  }
201
201
  });
202
202
  });
203
+ var _computeAxisValue = require("./computeAxisValue");
204
+ Object.keys(_computeAxisValue).forEach(function (key) {
205
+ if (key === "default" || key === "__esModule") return;
206
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
207
+ if (key in exports && exports[key] === _computeAxisValue[key]) return;
208
+ Object.defineProperty(exports, key, {
209
+ enumerable: true,
210
+ get: function () {
211
+ return _computeAxisValue[key];
212
+ }
213
+ });
214
+ });
203
215
  var _CartesianProvider = require("../context/CartesianProvider");
204
216
  Object.keys(_CartesianProvider).forEach(function (key) {
205
217
  if (key === "default" || key === "__esModule") return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-charts",
3
- "version": "7.17.0",
3
+ "version": "7.19.0",
4
4
  "description": "The community edition of the Charts components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "repository": {
27
27
  "type": "git",
28
- "url": "https://github.com/mui/mui-x.git",
28
+ "url": "git+https://github.com/mui/mui-x.git",
29
29
  "directory": "packages/x-charts"
30
30
  },
31
31
  "dependencies": {
@@ -35,8 +35,8 @@
35
35
  "@react-spring/web": "^9.7.4",
36
36
  "clsx": "^2.1.1",
37
37
  "prop-types": "^15.8.1",
38
- "@mui/x-internals": "7.17.0",
39
- "@mui/x-charts-vendor": "7.16.0"
38
+ "@mui/x-charts-vendor": "7.19.0",
39
+ "@mui/x-internals": "7.18.0"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "@emotion/react": "^11.9.0",
@@ -1,30 +0,0 @@
1
- import { AxisConfig, ScaleName } from '../../models';
2
- import { ChartsXAxisProps, ChartsAxisProps, ChartsYAxisProps } from '../../models/axis';
3
- import { CartesianChartSeriesType } from '../../models/seriesType/config';
4
- import { DrawingArea } from '../DrawingProvider';
5
- import { FormattedSeries } from '../SeriesProvider';
6
- import { ExtremumGetter } from '../PluginProvider';
7
- import { DefaultizedAxisConfig, ZoomData, ZoomOptions, GetZoomAxisFilters } from './Cartesian.types';
8
- type ComputeResult<T extends ChartsAxisProps> = {
9
- axis: DefaultizedAxisConfig<T>;
10
- axisIds: string[];
11
- };
12
- type ComputeCommonParams = {
13
- drawingArea: DrawingArea;
14
- formattedSeries: FormattedSeries;
15
- extremumGetters: {
16
- [K in CartesianChartSeriesType]?: ExtremumGetter<K>;
17
- };
18
- zoomData?: ZoomData[];
19
- zoomOptions?: ZoomOptions;
20
- getFilters?: GetZoomAxisFilters;
21
- };
22
- export declare function computeValue(options: ComputeCommonParams & {
23
- axis: AxisConfig<ScaleName, any, ChartsYAxisProps>[];
24
- axisDirection: 'y';
25
- }): ComputeResult<ChartsYAxisProps>;
26
- export declare function computeValue(options: ComputeCommonParams & {
27
- axis: AxisConfig<ScaleName, any, ChartsXAxisProps>[];
28
- axisDirection: 'x';
29
- }): ComputeResult<ChartsAxisProps>;
30
- export {};