@mui/x-charts 8.0.0-alpha.2 → 8.0.0-alpha.4

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 (90) hide show
  1. package/CHANGELOG.md +376 -0
  2. package/ChartsAxis/ChartsAxis.js +0 -4
  3. package/ChartsLabel/ChartsLabel.d.ts +19 -0
  4. package/ChartsLabel/ChartsLabel.js +58 -0
  5. package/ChartsLabel/ChartsLabelGradient.d.ts +40 -0
  6. package/ChartsLabel/ChartsLabelGradient.js +133 -0
  7. package/ChartsLabel/ChartsLabelMark.d.ts +27 -0
  8. package/ChartsLabel/ChartsLabelMark.js +108 -0
  9. package/ChartsLabel/labelClasses.d.ts +9 -0
  10. package/ChartsLabel/labelClasses.js +13 -0
  11. package/ChartsLabel/labelGradientClasses.d.ts +15 -0
  12. package/ChartsLabel/labelGradientClasses.js +17 -0
  13. package/ChartsLabel/labelMarkClasses.d.ts +17 -0
  14. package/ChartsLabel/labelMarkClasses.js +17 -0
  15. package/ChartsLegend/useAxis.js +3 -3
  16. package/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
  17. package/ChartsTooltip/ChartsTooltipTable.js +16 -14
  18. package/ChartsTooltip/chartsTooltipClasses.d.ts +3 -1
  19. package/ChartsTooltip/chartsTooltipClasses.js +3 -2
  20. package/ChartsTooltip/useAxisTooltip.js +2 -3
  21. package/ChartsTooltip/useItemTooltip.js +2 -3
  22. package/PieChart/PieArc.js +11 -5
  23. package/PieChart/PieArcPlot.js +9 -13
  24. package/PieChart/PiePlot.js +2 -2
  25. package/README.md +1 -1
  26. package/ScatterChart/ScatterPlot.js +2 -2
  27. package/ScatterChart/extremums.js +1 -3
  28. package/ScatterChart/formatter.js +2 -2
  29. package/hooks/useChartId.d.ts +1 -1
  30. package/hooks/useColorScale.js +2 -3
  31. package/hooks/useZAxis.d.ts +6 -0
  32. package/hooks/useZAxis.js +8 -0
  33. package/index.js +1 -1
  34. package/internals/consumeThemeProps.d.ts +54 -0
  35. package/internals/consumeThemeProps.js +79 -0
  36. package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  37. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +6 -6
  38. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +3 -3
  39. package/internals/store/useCharts.js +8 -2
  40. package/modern/ChartsAxis/ChartsAxis.js +0 -4
  41. package/modern/ChartsLabel/ChartsLabel.js +58 -0
  42. package/modern/ChartsLabel/ChartsLabelGradient.js +133 -0
  43. package/modern/ChartsLabel/ChartsLabelMark.js +108 -0
  44. package/modern/ChartsLabel/labelClasses.js +13 -0
  45. package/modern/ChartsLabel/labelGradientClasses.js +17 -0
  46. package/modern/ChartsLabel/labelMarkClasses.js +17 -0
  47. package/modern/ChartsLegend/useAxis.js +3 -3
  48. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
  49. package/modern/ChartsTooltip/ChartsTooltipTable.js +16 -14
  50. package/modern/ChartsTooltip/chartsTooltipClasses.js +3 -2
  51. package/modern/ChartsTooltip/useAxisTooltip.js +2 -3
  52. package/modern/ChartsTooltip/useItemTooltip.js +2 -3
  53. package/modern/PieChart/PieArc.js +11 -5
  54. package/modern/PieChart/PieArcPlot.js +9 -13
  55. package/modern/PieChart/PiePlot.js +2 -2
  56. package/modern/ScatterChart/ScatterPlot.js +2 -2
  57. package/modern/ScatterChart/extremums.js +1 -3
  58. package/modern/ScatterChart/formatter.js +2 -2
  59. package/modern/hooks/useColorScale.js +2 -3
  60. package/modern/hooks/useZAxis.js +8 -0
  61. package/modern/index.js +1 -1
  62. package/modern/internals/consumeThemeProps.js +79 -0
  63. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  64. package/modern/internals/store/useCharts.js +8 -2
  65. package/node/ChartsAxis/ChartsAxis.js +0 -4
  66. package/node/ChartsLabel/ChartsLabel.js +64 -0
  67. package/node/ChartsLabel/ChartsLabelGradient.js +139 -0
  68. package/node/ChartsLabel/ChartsLabelMark.js +114 -0
  69. package/node/ChartsLabel/labelClasses.js +22 -0
  70. package/node/ChartsLabel/labelGradientClasses.js +26 -0
  71. package/node/ChartsLabel/labelMarkClasses.js +26 -0
  72. package/node/ChartsLegend/useAxis.js +2 -4
  73. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
  74. package/node/ChartsTooltip/ChartsTooltipTable.js +16 -14
  75. package/node/ChartsTooltip/chartsTooltipClasses.js +3 -2
  76. package/node/ChartsTooltip/useAxisTooltip.js +2 -4
  77. package/node/ChartsTooltip/useItemTooltip.js +2 -4
  78. package/node/PieChart/PieArc.js +11 -5
  79. package/node/PieChart/PieArcPlot.js +9 -13
  80. package/node/PieChart/PiePlot.js +2 -2
  81. package/node/ScatterChart/ScatterPlot.js +2 -2
  82. package/node/ScatterChart/extremums.js +1 -3
  83. package/node/ScatterChart/formatter.js +2 -2
  84. package/node/hooks/useColorScale.js +2 -4
  85. package/node/hooks/useZAxis.js +15 -0
  86. package/node/index.js +1 -1
  87. package/node/internals/consumeThemeProps.js +87 -0
  88. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  89. package/node/internals/store/useCharts.js +9 -2
  90. package/package.json +5 -4
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.ChartsLabelMark = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _styles = require("@mui/material/styles");
15
+ var _clsx = _interopRequireDefault(require("clsx"));
16
+ var _labelMarkClasses = require("./labelMarkClasses");
17
+ var _consumeThemeProps = require("../internals/consumeThemeProps");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const _excluded = ["type", "color", "className", "classes"];
20
+ const Root = (0, _styles.styled)('div', {
21
+ name: 'MuiChartsLabelMark',
22
+ slot: 'Root',
23
+ overridesResolver: (props, styles) => styles.root
24
+ })(() => {
25
+ return {
26
+ display: 'flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'center',
29
+ flexShrink: 0,
30
+ [`&.${_labelMarkClasses.labelMarkClasses.line}`]: {
31
+ width: 16,
32
+ display: 'flex',
33
+ alignItems: 'center',
34
+ [`.${_labelMarkClasses.labelMarkClasses.mask}`]: {
35
+ height: 4,
36
+ width: '100%',
37
+ borderRadius: 1,
38
+ overflow: 'hidden'
39
+ }
40
+ },
41
+ [`&.${_labelMarkClasses.labelMarkClasses.square}`]: {
42
+ height: 13,
43
+ width: 13,
44
+ borderRadius: 2,
45
+ overflow: 'hidden'
46
+ },
47
+ [`&.${_labelMarkClasses.labelMarkClasses.circle}`]: {
48
+ height: 15,
49
+ width: 15,
50
+ borderRadius: '50%',
51
+ overflow: 'hidden'
52
+ },
53
+ svg: {
54
+ display: 'block',
55
+ height: '100%',
56
+ width: '100%'
57
+ }
58
+ };
59
+ });
60
+
61
+ /**
62
+ * @ignore - internal component.
63
+ *
64
+ * Generates the label mark for the tooltip and legend.
65
+ */
66
+ const ChartsLabelMark = exports.ChartsLabelMark = (0, _consumeThemeProps.consumeThemeProps)('MuiChartsLabelMark', {
67
+ classesResolver: _labelMarkClasses.useUtilityClasses
68
+ }, function ChartsLabelMark(props, ref) {
69
+ const {
70
+ type,
71
+ color,
72
+ className,
73
+ classes
74
+ } = props,
75
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
76
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({
77
+ className: (0, _clsx.default)(classes?.root, className),
78
+ ownerState: props,
79
+ "aria-hidden": "true",
80
+ ref: ref
81
+ }, other, {
82
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
83
+ className: classes?.mask,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
85
+ viewBox: "0 0 24 24",
86
+ preserveAspectRatio: type === 'line' ? 'none' : undefined,
87
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
88
+ width: "24",
89
+ height: "24",
90
+ fill: color
91
+ })
92
+ })
93
+ })
94
+ }));
95
+ });
96
+ process.env.NODE_ENV !== "production" ? ChartsLabelMark.propTypes = {
97
+ // ----------------------------- Warning --------------------------------
98
+ // | These PropTypes are generated from the TypeScript type definitions |
99
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
100
+ // ----------------------------------------------------------------------
101
+ /**
102
+ * Override or extend the styles applied to the component.
103
+ */
104
+ classes: _propTypes.default.object,
105
+ /**
106
+ * The color of the mark.
107
+ */
108
+ color: _propTypes.default.string,
109
+ /**
110
+ * The type of the mark.
111
+ * @default 'square'
112
+ */
113
+ type: _propTypes.default.oneOf(['circle', 'line', 'square'])
114
+ } : void 0;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getLabelUtilityClass = getLabelUtilityClass;
8
+ exports.useUtilityClasses = exports.labelClasses = void 0;
9
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
10
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
+ function getLabelUtilityClass(slot) {
13
+ return (0, _generateUtilityClass.default)('MuiChartsLabel', slot);
14
+ }
15
+ const labelClasses = exports.labelClasses = (0, _generateUtilityClasses.default)('MuiChartsLabel', ['root']);
16
+ const useUtilityClasses = props => {
17
+ const slots = {
18
+ root: ['root']
19
+ };
20
+ return (0, _composeClasses.default)(slots, getLabelUtilityClass, props.classes);
21
+ };
22
+ exports.useUtilityClasses = useUtilityClasses;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getLabelGradientUtilityClass = getLabelGradientUtilityClass;
8
+ exports.useUtilityClasses = exports.labelGradientClasses = void 0;
9
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
10
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
+ function getLabelGradientUtilityClass(slot) {
13
+ return (0, _generateUtilityClass.default)('MuiChartsLabelGradient', slot);
14
+ }
15
+ const labelGradientClasses = exports.labelGradientClasses = (0, _generateUtilityClasses.default)('MuiChartsLabelGradient', ['root', 'column', 'row', 'mask']);
16
+ const useUtilityClasses = props => {
17
+ const {
18
+ direction
19
+ } = props;
20
+ const slots = {
21
+ root: ['root', direction],
22
+ mask: ['mask']
23
+ };
24
+ return (0, _composeClasses.default)(slots, getLabelGradientUtilityClass, props.classes);
25
+ };
26
+ exports.useUtilityClasses = useUtilityClasses;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getLabelMarkUtilityClass = getLabelMarkUtilityClass;
8
+ exports.useUtilityClasses = exports.labelMarkClasses = void 0;
9
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
10
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
+ function getLabelMarkUtilityClass(slot) {
13
+ return (0, _generateUtilityClass.default)('MuiChartsLabelMark', slot);
14
+ }
15
+ const labelMarkClasses = exports.labelMarkClasses = (0, _generateUtilityClasses.default)('MuiChartsLabelMark', ['root', 'line', 'square', 'circle', 'mask']);
16
+ const useUtilityClasses = props => {
17
+ const {
18
+ type
19
+ } = props;
20
+ const slots = {
21
+ root: ['root', type],
22
+ mask: ['mask']
23
+ };
24
+ return (0, _composeClasses.default)(slots, getLabelMarkUtilityClass, props.classes);
25
+ };
26
+ exports.useUtilityClasses = useUtilityClasses;
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useAxis = useAxis;
9
- var React = _interopRequireWildcard(require("react"));
10
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
11
8
  var _useCartesianContext = require("../context/CartesianProvider/useCartesianContext");
9
+ var _useZAxis = require("../hooks/useZAxis");
12
10
  /**
13
11
  * Helper to select an axis definition according to its direction and id.
14
12
  */
@@ -25,7 +23,7 @@ function useAxis({
25
23
  const {
26
24
  zAxis,
27
25
  zAxisIds
28
- } = React.useContext(_ZAxisContextProvider.ZAxisContext);
26
+ } = (0, _useZAxis.useZAxis)();
29
27
  switch (axisDirection) {
30
28
  case 'x':
31
29
  {
@@ -21,11 +21,11 @@ function ChartsAxisTooltipContent(props) {
21
21
  classes: propClasses,
22
22
  sx
23
23
  } = props;
24
- const tootlipData = (0, _useAxisTooltip.useAxisTooltip)();
24
+ const tooltipData = (0, _useAxisTooltip.useAxisTooltip)();
25
25
  const xAxis = (0, _hooks.useXAxis)();
26
26
  const yAxis = (0, _hooks.useYAxis)();
27
27
  const classes = (0, _chartsTooltipClasses.useUtilityClasses)(propClasses);
28
- if (tootlipData === null) {
28
+ if (tooltipData === null) {
29
29
  return null;
30
30
  }
31
31
  const {
@@ -33,7 +33,7 @@ function ChartsAxisTooltipContent(props) {
33
33
  axisValue,
34
34
  axisFormattedValue,
35
35
  seriesItems
36
- } = tootlipData;
36
+ } = tooltipData;
37
37
  const axis = axisDirection === 'x' ? xAxis : yAxis;
38
38
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
39
39
  sx: sx,
@@ -42,8 +42,10 @@ function ChartsAxisTooltipContent(props) {
42
42
  className: classes.table,
43
43
  children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
44
44
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipRow, {
45
+ className: classes.row,
45
46
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
46
47
  colSpan: 3,
48
+ className: (0, _clsx.default)(classes.cell, classes.axisValueCell),
47
49
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
48
50
  children: axisFormattedValue
49
51
  })
@@ -17,11 +17,10 @@ const ChartsTooltipPaper = exports.ChartsTooltipPaper = (0, _styles.styled)('div
17
17
  })(({
18
18
  theme
19
19
  }) => ({
20
- boxShadow: theme.shadows[1],
21
20
  backgroundColor: (theme.vars || theme).palette.background.paper,
22
21
  color: (theme.vars || theme).palette.text.primary,
23
- transition: theme.transitions.create('box-shadow'),
24
- borderRadius: theme.shape.borderRadius
22
+ borderRadius: theme.shape.borderRadius,
23
+ border: `solid ${(theme.vars || theme).palette.divider} 1px`
25
24
  }));
26
25
 
27
26
  /**
@@ -51,10 +50,10 @@ const ChartsTooltipRow = exports.ChartsTooltipRow = (0, _styles.styled)('tr', {
51
50
  theme
52
51
  }) => ({
53
52
  'tr:first-of-type& td': {
54
- paddingTop: theme.spacing(1)
53
+ paddingTop: theme.spacing(0.5)
55
54
  },
56
55
  'tr:last-of-type& td': {
57
- paddingBottom: theme.spacing(1)
56
+ paddingBottom: theme.spacing(0.5)
58
57
  }
59
58
  }));
60
59
 
@@ -71,17 +70,23 @@ const ChartsTooltipCell = exports.ChartsTooltipCell = (0, _styles.styled)('td',
71
70
  verticalAlign: 'middle',
72
71
  color: (theme.vars || theme).palette.text.secondary,
73
72
  [`&.${_chartsTooltipClasses.chartsTooltipClasses.labelCell}`]: {
74
- paddingLeft: theme.spacing(1)
73
+ paddingLeft: theme.spacing(1),
74
+ paddingRight: theme.spacing(1.5),
75
+ fontWeight: theme.typography.fontWeightRegular
76
+ },
77
+ [`&.${_chartsTooltipClasses.chartsTooltipClasses.valueCell}, &.${_chartsTooltipClasses.chartsTooltipClasses.axisValueCell}`]: {
78
+ color: (theme.vars || theme).palette.text.primary,
79
+ fontWeight: theme.typography.fontWeightMedium
75
80
  },
76
81
  [`&.${_chartsTooltipClasses.chartsTooltipClasses.valueCell}`]: {
77
- paddingLeft: theme.spacing(4),
78
- color: (theme.vars || theme).palette.text.primary
82
+ paddingLeft: theme.spacing(1.5),
83
+ paddingRight: theme.spacing(1.5)
79
84
  },
80
85
  'td:first-of-type&': {
81
- paddingLeft: theme.spacing(2)
86
+ paddingLeft: theme.spacing(1.5)
82
87
  },
83
88
  'td:last-of-type&': {
84
- paddingRight: theme.spacing(2)
89
+ paddingRight: theme.spacing(1.5)
85
90
  }
86
91
  }));
87
92
 
@@ -100,9 +105,6 @@ const ChartsTooltipMark = exports.ChartsTooltipMark = (0, _styles.styled)('div',
100
105
  width: theme.spacing(1),
101
106
  height: theme.spacing(1),
102
107
  borderRadius: '50%',
103
- boxShadow: theme.shadows[1],
104
- backgroundColor: color,
105
- borderColor: (theme.vars || theme).palette.background.paper,
106
- border: `solid ${(theme.vars || theme).palette.background.paper} ${theme.spacing(0.25)}`,
108
+ background: color,
107
109
  boxSizing: 'content-box'
108
110
  }));
@@ -13,7 +13,7 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
13
13
  function getChartsTooltipUtilityClass(slot) {
14
14
  return (0, _generateUtilityClass.default)('MuiChartsTooltip', slot);
15
15
  }
16
- const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _generateUtilityClasses.default)('MuiChartsTooltip', ['root', 'paper', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell']);
16
+ const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _generateUtilityClasses.default)('MuiChartsTooltip', ['root', 'paper', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell', 'axisValueCell']);
17
17
  const useUtilityClasses = classes => {
18
18
  const slots = {
19
19
  root: ['root'],
@@ -24,7 +24,8 @@ const useUtilityClasses = classes => {
24
24
  mark: ['mark'],
25
25
  markCell: ['markCell'],
26
26
  labelCell: ['labelCell'],
27
- valueCell: ['valueCell']
27
+ valueCell: ['valueCell'],
28
+ axisValueCell: ['axisValueCell']
28
29
  };
29
30
  return (0, _composeClasses.default)(slots, getChartsTooltipUtilityClass, classes);
30
31
  };
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useAxisTooltip = useAxisTooltip;
9
- var React = _interopRequireWildcard(require("react"));
10
8
  var _useSeries = require("../hooks/useSeries");
11
9
  var _CartesianProvider = require("../context/CartesianProvider");
12
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
13
10
  var _useColorProcessor = require("../context/PluginProvider/useColorProcessor");
14
11
  var _useStore = require("../internals/store/useStore");
15
12
  var _useSelector = require("../internals/store/useSelector");
@@ -17,6 +14,7 @@ var _getLabel = require("../internals/getLabel");
17
14
  var _isCartesian = require("../internals/isCartesian");
18
15
  var _utils = require("./utils");
19
16
  var _useAxis = require("../hooks/useAxis");
17
+ var _useZAxis = require("../hooks/useZAxis");
20
18
  var _useChartInteraction = require("../internals/plugins/featurePlugins/useChartInteraction");
21
19
  function useAxisTooltip() {
22
20
  const defaultXAxis = (0, _useAxis.useXAxis)();
@@ -32,7 +30,7 @@ function useAxisTooltip() {
32
30
  const {
33
31
  zAxis,
34
32
  zAxisIds
35
- } = React.useContext(_ZAxisContextProvider.ZAxisContext);
33
+ } = (0, _useZAxis.useZAxis)();
36
34
  const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
37
35
  if (axisData === null) {
38
36
  return null;
@@ -1,22 +1,20 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
8
  exports.useItemTooltip = useItemTooltip;
10
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var React = _interopRequireWildcard(require("react"));
12
10
  var _useSeries = require("../hooks/useSeries");
13
11
  var _CartesianProvider = require("../context/CartesianProvider");
14
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
15
12
  var _useColorProcessor = require("../context/PluginProvider/useColorProcessor");
16
13
  var _getLabel = require("../internals/getLabel");
17
14
  var _useChartInteraction = require("../internals/plugins/featurePlugins/useChartInteraction");
18
15
  var _useSelector = require("../internals/store/useSelector");
19
16
  var _useStore = require("../internals/store/useStore");
17
+ var _useZAxis = require("../hooks/useZAxis");
20
18
  function useItemTooltip() {
21
19
  const store = (0, _useStore.useStore)();
22
20
  const item = (0, _useSelector.useSelector)(store, _useChartInteraction.selectorChartsInteractionItem);
@@ -30,7 +28,7 @@ function useItemTooltip() {
30
28
  const {
31
29
  zAxis,
32
30
  zAxisIds
33
- } = React.useContext(_ZAxisContextProvider.ZAxisContext);
31
+ } = (0, _useZAxis.useZAxis)();
34
32
  const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
35
33
  const xAxisId = series.xAxisId ?? xAxisIds[0];
36
34
  const yAxisId = series.yAxisId ?? yAxisIds[0];
@@ -31,10 +31,11 @@ const useUtilityClasses = ownerState => {
31
31
  classes,
32
32
  id,
33
33
  isFaded,
34
- isHighlighted
34
+ isHighlighted,
35
+ dataIndex
35
36
  } = ownerState;
36
37
  const slots = {
37
- root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
38
+ root: ['root', `series-${id}`, `data-index-${dataIndex}`, isHighlighted && 'highlighted', isFaded && 'faded']
38
39
  };
39
40
  return (0, _composeClasses.default)(slots, getPieArcUtilityClass, classes);
40
41
  };
@@ -45,9 +46,9 @@ const PieArcRoot = (0, _styles.styled)(_web.animated.path, {
45
46
  })(({
46
47
  theme
47
48
  }) => ({
49
+ // Got to move stroke to an element prop instead of style.
48
50
  stroke: (theme.vars || theme).palette.background.paper,
49
- strokeWidth: 1,
50
- strokeLinejoin: 'round'
51
+ transition: 'opacity 0.2s ease-in, fill 0.2s ease-in, filter 0.2s ease-in'
51
52
  }));
52
53
  function PieArc(props) {
53
54
  const {
@@ -88,7 +89,12 @@ function PieArc(props) {
88
89
  onClick: onClick,
89
90
  cursor: onClick ? 'pointer' : 'unset',
90
91
  ownerState: ownerState,
91
- className: classes.root
92
+ className: classes.root,
93
+ fill: ownerState.color,
94
+ opacity: ownerState.isFaded ? 0.3 : 1,
95
+ filter: ownerState.isHighlighted ? 'brightness(120%)' : 'none',
96
+ strokeWidth: 1,
97
+ strokeLinejoin: "round"
92
98
  }, other, getInteractionItemProps({
93
99
  type: 'pie',
94
100
  seriesId: id,
@@ -16,8 +16,7 @@ var _PieArc = require("./PieArc");
16
16
  var _transition = require("./dataTransform/transition");
17
17
  var _useTransformData = require("./dataTransform/useTransformData");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlighted", "faded", "data", "onItemClick", "skipAnimation"],
20
- _excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "arcLabelRadius", "outerRadius", "cornerRadius"];
19
+ const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlighted", "faded", "data", "onItemClick", "skipAnimation"];
21
20
  function PieArcPlot(props) {
22
21
  const {
23
22
  slots,
@@ -54,16 +53,14 @@ function PieArcPlot(props) {
54
53
  }
55
54
  const Arc = slots?.pieArc ?? _PieArc.PieArc;
56
55
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
57
- children: transition((_ref, item, _, index) => {
58
- let {
59
- startAngle,
60
- endAngle,
61
- paddingAngle: pA,
62
- innerRadius: iR,
63
- outerRadius: oR,
64
- cornerRadius: cR
65
- } = _ref,
66
- style = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded2);
56
+ children: transition(({
57
+ startAngle,
58
+ endAngle,
59
+ paddingAngle: pA,
60
+ innerRadius: iR,
61
+ outerRadius: oR,
62
+ cornerRadius: cR
63
+ }, item, _, index) => {
67
64
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Arc, (0, _extends2.default)({
68
65
  startAngle: startAngle,
69
66
  endAngle: endAngle,
@@ -71,7 +68,6 @@ function PieArcPlot(props) {
71
68
  innerRadius: iR,
72
69
  outerRadius: oR,
73
70
  cornerRadius: cR,
74
- style: style,
75
71
  id: id,
76
72
  color: item.color,
77
73
  dataIndex: index,
@@ -9,13 +9,13 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.PiePlot = PiePlot;
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _DrawingAreaProvider = require("../context/DrawingAreaProvider");
13
12
  var _PieArcPlot = require("./PieArcPlot");
14
13
  var _PieArcLabelPlot = require("./PieArcLabelPlot");
15
14
  var _getPercentageValue = require("../internals/getPercentageValue");
16
15
  var _getPieCoordinates = require("./getPieCoordinates");
17
16
  var _useSeries = require("../hooks/useSeries");
18
17
  var _AnimationProvider = require("../context/AnimationProvider");
18
+ var _hooks = require("../hooks");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  /**
21
21
  * Demos:
@@ -40,7 +40,7 @@ function PiePlot(props) {
40
40
  top,
41
41
  width,
42
42
  height
43
- } = React.useContext(_DrawingAreaProvider.DrawingAreaContext);
43
+ } = (0, _hooks.useDrawingArea)();
44
44
  const skipAnimation = (0, _AnimationProvider.useSkipAnimation)(inSkipAnimation);
45
45
  if (seriesData === undefined) {
46
46
  return null;
@@ -13,8 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _Scatter = require("./Scatter");
14
14
  var _CartesianProvider = require("../context/CartesianProvider");
15
15
  var _getColor = _interopRequireDefault(require("./getColor"));
16
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
17
16
  var _useSeries = require("../hooks/useSeries");
17
+ var _useZAxis = require("../hooks/useZAxis");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  /**
20
20
  * Demos:
@@ -37,7 +37,7 @@ function ScatterPlot(props) {
37
37
  const {
38
38
  zAxis,
39
39
  zAxisIds
40
- } = React.useContext(_ZAxisContextProvider.ZAxisContext);
40
+ } = (0, _useZAxis.useZAxis)();
41
41
  if (seriesData === undefined) {
42
42
  return null;
43
43
  }
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getExtremumY = exports.getExtremumX = void 0;
7
- const mergeMinMax = (acc, val) => {
8
- return [Math.min(acc[0], val[0]), Math.max(acc[1], val[1])];
9
- };
7
+ const mergeMinMax = (acc, val) => [val[0] === null ? acc[0] : Math.min(acc[0], val[0]), val[1] === null ? acc[1] : Math.max(acc[1], val[1])];
10
8
  const getExtremumX = params => {
11
9
  const {
12
10
  series,
@@ -18,8 +18,8 @@ const formatter = ({
18
18
  }
19
19
  const data = !datasetKeys ? seriesData.data ?? [] : dataset?.map(d => {
20
20
  return {
21
- x: d[datasetKeys.x],
22
- y: d[datasetKeys.y],
21
+ x: d[datasetKeys.x] ?? null,
22
+ y: d[datasetKeys.y] ?? null,
23
23
  z: datasetKeys.z && d[datasetKeys.z],
24
24
  id: d[datasetKeys.id]
25
25
  };
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useXColorScale = useXColorScale;
9
8
  exports.useYColorScale = useYColorScale;
10
9
  exports.useZColorScale = useZColorScale;
11
- var React = _interopRequireWildcard(require("react"));
12
10
  var _CartesianProvider = require("../context/CartesianProvider");
13
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
11
+ var _useZAxis = require("./useZAxis");
14
12
  function useXColorScale(identifier) {
15
13
  const {
16
14
  xAxis,
@@ -31,7 +29,7 @@ function useZColorScale(identifier) {
31
29
  const {
32
30
  zAxis,
33
31
  zAxisIds
34
- } = React.useContext(_ZAxisContextProvider.ZAxisContext);
32
+ } = (0, _useZAxis.useZAxis)();
35
33
  const id = typeof identifier === 'string' ? identifier : zAxisIds[identifier ?? 0];
36
34
  return zAxis[id]?.colorScale;
37
35
  }
@@ -0,0 +1,15 @@
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.useZAxis = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
11
+ const useZAxis = () => {
12
+ const data = React.useContext(_ZAxisContextProvider.ZAxisContext);
13
+ return data;
14
+ };
15
+ exports.useZAxis = useZAxis;
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v8.0.0-alpha.2
2
+ * @mui/x-charts v8.0.0-alpha.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the