@mui/x-charts 6.0.0-alpha.14 → 6.0.0-alpha.15

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 (83) hide show
  1. package/BarChart/BarChart.d.ts +3 -0
  2. package/BarChart/BarChart.js +4 -8
  3. package/CHANGELOG.md +104 -0
  4. package/ChartsLegend/ChartsLegend.d.ts +43 -24
  5. package/ChartsLegend/ChartsLegend.js +185 -143
  6. package/ChartsLegend/utils.d.ts +1 -6
  7. package/ChartsSurface.js +3 -11
  8. package/ChartsXAxis/ChartsXAxis.js +48 -25
  9. package/ChartsYAxis/ChartsYAxis.js +47 -26
  10. package/LineChart/LineChart.d.ts +3 -0
  11. package/LineChart/LineChart.js +4 -8
  12. package/PieChart/PieChart.d.ts +3 -0
  13. package/PieChart/PieChart.js +4 -8
  14. package/ScatterChart/ScatterChart.d.ts +3 -0
  15. package/ScatterChart/ScatterChart.js +4 -8
  16. package/constants.js +1 -1
  17. package/context/CartesianContextProvider.js +10 -10
  18. package/context/DrawingProvider.d.ts +2 -0
  19. package/context/DrawingProvider.js +2 -0
  20. package/esm/BarChart/BarChart.js +4 -8
  21. package/esm/ChartsLegend/ChartsLegend.js +184 -142
  22. package/esm/ChartsSurface.js +3 -11
  23. package/esm/ChartsXAxis/ChartsXAxis.js +47 -24
  24. package/esm/ChartsYAxis/ChartsYAxis.js +46 -25
  25. package/esm/LineChart/LineChart.js +4 -8
  26. package/esm/PieChart/PieChart.js +4 -8
  27. package/esm/ScatterChart/ScatterChart.js +4 -8
  28. package/esm/constants.js +1 -1
  29. package/esm/context/CartesianContextProvider.js +11 -11
  30. package/esm/context/DrawingProvider.js +2 -0
  31. package/esm/hooks/useChartDimensions.js +2 -0
  32. package/esm/hooks/useTicks.js +5 -5
  33. package/esm/internals/components/AxisSharedComponents.js +15 -70
  34. package/esm/internals/components/ChartsText.js +71 -0
  35. package/esm/internals/domUtils.js +113 -0
  36. package/hooks/useChartDimensions.d.ts +2 -0
  37. package/hooks/useChartDimensions.js +2 -0
  38. package/hooks/useTicks.d.ts +2 -3
  39. package/hooks/useTicks.js +6 -6
  40. package/index.js +1 -1
  41. package/internals/components/AxisSharedComponents.d.ts +0 -4
  42. package/internals/components/AxisSharedComponents.js +16 -71
  43. package/internals/components/ChartsText.d.ts +32 -0
  44. package/internals/components/ChartsText.js +81 -0
  45. package/internals/domUtils.d.ts +14 -0
  46. package/internals/domUtils.js +122 -0
  47. package/legacy/BarChart/BarChart.js +4 -8
  48. package/legacy/ChartsLegend/ChartsLegend.js +196 -140
  49. package/legacy/ChartsSurface.js +2 -11
  50. package/legacy/ChartsXAxis/ChartsXAxis.js +47 -24
  51. package/legacy/ChartsYAxis/ChartsYAxis.js +46 -25
  52. package/legacy/LineChart/LineChart.js +4 -8
  53. package/legacy/PieChart/PieChart.js +4 -8
  54. package/legacy/ScatterChart/ScatterChart.js +4 -8
  55. package/legacy/constants.js +1 -1
  56. package/legacy/context/CartesianContextProvider.js +11 -11
  57. package/legacy/context/DrawingProvider.js +2 -0
  58. package/legacy/hooks/useChartDimensions.js +2 -0
  59. package/legacy/hooks/useTicks.js +5 -5
  60. package/legacy/index.js +1 -1
  61. package/legacy/internals/components/AxisSharedComponents.js +9 -63
  62. package/legacy/internals/components/ChartsText.js +77 -0
  63. package/legacy/internals/domUtils.js +121 -0
  64. package/models/axis.d.ts +6 -5
  65. package/models/layout.d.ts +7 -6
  66. package/modern/BarChart/BarChart.js +4 -8
  67. package/modern/ChartsLegend/ChartsLegend.js +184 -142
  68. package/modern/ChartsSurface.js +3 -11
  69. package/modern/ChartsXAxis/ChartsXAxis.js +47 -24
  70. package/modern/ChartsYAxis/ChartsYAxis.js +46 -25
  71. package/modern/LineChart/LineChart.js +4 -8
  72. package/modern/PieChart/PieChart.js +4 -8
  73. package/modern/ScatterChart/ScatterChart.js +4 -8
  74. package/modern/constants.js +1 -1
  75. package/modern/context/CartesianContextProvider.js +11 -11
  76. package/modern/context/DrawingProvider.js +2 -0
  77. package/modern/hooks/useChartDimensions.js +2 -0
  78. package/modern/hooks/useTicks.js +5 -5
  79. package/modern/index.js +1 -1
  80. package/modern/internals/components/AxisSharedComponents.js +15 -70
  81. package/modern/internals/components/ChartsText.js +71 -0
  82. package/modern/internals/domUtils.js +113 -0
  83. package/package.json +1 -1
package/ChartsSurface.js CHANGED
@@ -11,7 +11,7 @@ var _styles = require("@mui/material/styles");
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useAxisEvents = require("./hooks/useAxisEvents");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
- const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className", "sx"];
14
+ const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className"];
15
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
  const ChartChartsSurfaceStyles = (0, _styles.styled)('svg', {
@@ -24,8 +24,7 @@ const ChartsSurface = exports.ChartsSurface = /*#__PURE__*/React.forwardRef(func
24
24
  width,
25
25
  height,
26
26
  viewBox,
27
- disableAxisListener = false,
28
- sx
27
+ disableAxisListener = false
29
28
  } = props,
30
29
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
31
30
  const svgView = (0, _extends2.default)({
@@ -39,14 +38,7 @@ const ChartsSurface = exports.ChartsSurface = /*#__PURE__*/React.forwardRef(func
39
38
  width: width,
40
39
  height: height,
41
40
  viewBox: `${svgView.x} ${svgView.y} ${svgView.width} ${svgView.height}`,
42
- ref: ref,
43
- sx: [{
44
- '--ChartsLegend-itemWidth': '100px',
45
- '--ChartsLegend-itemMarkSize': '20px',
46
- '--ChartsLegend-rootSpacing': '5px',
47
- '--ChartsLegend-labelSpacing': '5px',
48
- '--ChartsLegend-rootOffsetY': '-20px'
49
- }, ...(Array.isArray(sx) ? sx : [sx])]
41
+ ref: ref
50
42
  }, other, {
51
43
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("title", {
52
44
  children: props.title
@@ -9,15 +9,17 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _utils = require("@mui/utils");
12
+ var _utils = require("@mui/base/utils");
13
+ var _utils2 = require("@mui/utils");
13
14
  var _styles = require("@mui/material/styles");
14
15
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
15
16
  var _DrawingProvider = require("../context/DrawingProvider");
16
17
  var _useTicks = _interopRequireDefault(require("../hooks/useTicks"));
17
18
  var _axisClasses = require("../ChartsAxis/axisClasses");
18
19
  var _AxisSharedComponents = require("../internals/components/AxisSharedComponents");
20
+ var _ChartsText = require("../internals/components/ChartsText");
19
21
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["scale", "ticksNumber"];
22
+ const _excluded = ["scale", "tickNumber"];
21
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
25
  const useUtilityClasses = ownerState => {
@@ -33,7 +35,7 @@ const useUtilityClasses = ownerState => {
33
35
  tickLabel: ['tickLabel'],
34
36
  label: ['label']
35
37
  };
36
- return (0, _utils.unstable_composeClasses)(slots, _axisClasses.getAxisUtilityClass, classes);
38
+ return (0, _utils2.unstable_composeClasses)(slots, _axisClasses.getAxisUtilityClass, classes);
37
39
  };
38
40
  const defaultProps = {
39
41
  position: 'bottom',
@@ -54,7 +56,7 @@ function ChartsXAxis(inProps) {
54
56
  xAxis: {
55
57
  [_props$axisId]: {
56
58
  scale: xScale,
57
- ticksNumber
59
+ tickNumber
58
60
  }
59
61
  }
60
62
  } = _React$useContext,
@@ -85,7 +87,7 @@ function ChartsXAxis(inProps) {
85
87
  const tickSize = disableTicks ? 4 : tickSizeProp;
86
88
  const xTicks = (0, _useTicks.default)({
87
89
  scale: xScale,
88
- ticksNumber,
90
+ tickNumber,
89
91
  valueFormatter
90
92
  });
91
93
  const positionSigne = position === 'bottom' ? 1 : -1;
@@ -93,10 +95,38 @@ function ChartsXAxis(inProps) {
93
95
  x: left + width / 2,
94
96
  y: positionSigne * (tickFontSize + tickSize + 10)
95
97
  };
96
- const Line = slots?.axisLine ?? _AxisSharedComponents.ChartsLine;
97
- const Tick = slots?.axisTick ?? _AxisSharedComponents.ChartsTick;
98
- const TickLabel = slots?.axisTickLabel ?? _AxisSharedComponents.ChartsTickLabel;
99
- const Label = slots?.axisLabel ?? _AxisSharedComponents.ChartsLabel;
98
+ const Line = slots?.axisLine ?? 'line';
99
+ const Tick = slots?.axisTick ?? 'line';
100
+ const TickLabel = slots?.axisTickLabel ?? _ChartsText.ChartsText;
101
+ const Label = slots?.axisLabel ?? _ChartsText.ChartsText;
102
+ const axisTickLabelProps = (0, _utils.useSlotProps)({
103
+ elementType: TickLabel,
104
+ externalSlotProps: slotProps?.axisTickLabel,
105
+ additionalProps: {
106
+ textAnchor: 'middle',
107
+ dominantBaseline: position === 'bottom' ? 'hanging' : 'auto',
108
+ style: {
109
+ fontSize: tickFontSize
110
+ },
111
+ className: classes.tickLabel
112
+ },
113
+ className: classes.tickLabel,
114
+ ownerState: {}
115
+ });
116
+ const axisLabelProps = (0, _utils.useSlotProps)({
117
+ elementType: Label,
118
+ externalSlotProps: slotProps?.axisLabel,
119
+ additionalProps: {
120
+ textAnchor: 'middle',
121
+ dominantBaseline: position === 'bottom' ? 'hanging' : 'auto',
122
+ style: {
123
+ fontSize: labelFontSize,
124
+ transformOrigin: `${labelRefPoint.x}px ${labelRefPoint.y}px`
125
+ },
126
+ className: classes.label
127
+ },
128
+ ownerState: {}
129
+ });
100
130
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_AxisSharedComponents.AxisRoot, {
101
131
  transform: `translate(0, ${position === 'bottom' ? top + height : top})`,
102
132
  className: classes.root,
@@ -120,24 +150,17 @@ function ChartsXAxis(inProps) {
120
150
  }, slotProps?.axisTick)), formattedValue !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(TickLabel, (0, _extends2.default)({
121
151
  x: xTickLabel,
122
152
  y: yTickLabel,
123
- "transform-origin": `${xTickLabel}px ${yTickLabel}px`,
124
- sx: {
125
- fontSize: tickFontSize
126
- },
127
- className: classes.tickLabel
128
- }, slotProps?.axisTickLabel, {
129
- children: formattedValue
153
+ "transform-origin": `${xTickLabel}px ${yTickLabel}px`
154
+ }, axisTickLabelProps, {
155
+ text: formattedValue.toString()
130
156
  }))]
131
157
  }, index);
132
- }), label && /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({}, labelRefPoint, {
133
- sx: {
134
- fontSize: labelFontSize,
135
- transformOrigin: `${labelRefPoint.x}px ${labelRefPoint.y}px`
136
- },
137
- className: classes.label
138
- }, slotProps?.axisLabel, {
139
- children: label
140
- }))]
158
+ }), label && /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
159
+ className: classes.label,
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({}, labelRefPoint, axisLabelProps, {
161
+ text: label
162
+ }))
163
+ })]
141
164
  });
142
165
  }
143
166
  process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
@@ -9,15 +9,17 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _utils = require("@mui/utils");
12
+ var _utils = require("@mui/base/utils");
13
+ var _utils2 = require("@mui/utils");
13
14
  var _styles = require("@mui/material/styles");
14
15
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
15
16
  var _DrawingProvider = require("../context/DrawingProvider");
16
17
  var _useTicks = _interopRequireDefault(require("../hooks/useTicks"));
17
18
  var _AxisSharedComponents = require("../internals/components/AxisSharedComponents");
19
+ var _ChartsText = require("../internals/components/ChartsText");
18
20
  var _axisClasses = require("../ChartsAxis/axisClasses");
19
21
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["scale", "ticksNumber"];
22
+ const _excluded = ["scale", "tickNumber"];
21
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
25
  const useUtilityClasses = ownerState => {
@@ -33,7 +35,7 @@ const useUtilityClasses = ownerState => {
33
35
  tickLabel: ['tickLabel'],
34
36
  label: ['label']
35
37
  };
36
- return (0, _utils.unstable_composeClasses)(slots, _axisClasses.getAxisUtilityClass, classes);
38
+ return (0, _utils2.unstable_composeClasses)(slots, _axisClasses.getAxisUtilityClass, classes);
37
39
  };
38
40
  const defaultProps = {
39
41
  position: 'left',
@@ -54,7 +56,7 @@ function ChartsYAxis(inProps) {
54
56
  yAxis: {
55
57
  [_props$axisId]: {
56
58
  scale: yScale,
57
- ticksNumber
59
+ tickNumber
58
60
  }
59
61
  }
60
62
  } = _React$useContext,
@@ -85,7 +87,7 @@ function ChartsYAxis(inProps) {
85
87
  const tickSize = disableTicks ? 4 : tickSizeProp;
86
88
  const yTicks = (0, _useTicks.default)({
87
89
  scale: yScale,
88
- ticksNumber,
90
+ tickNumber,
89
91
  valueFormatter
90
92
  });
91
93
  const positionSigne = position === 'right' ? 1 : -1;
@@ -93,10 +95,38 @@ function ChartsYAxis(inProps) {
93
95
  x: positionSigne * (tickFontSize + tickSize + 10),
94
96
  y: top + height / 2
95
97
  };
96
- const Line = slots?.axisLine ?? _AxisSharedComponents.ChartsLine;
97
- const Tick = slots?.axisTick ?? _AxisSharedComponents.ChartsTick;
98
- const TickLabel = slots?.axisTickLabel ?? _AxisSharedComponents.ChartsTickLabel;
99
- const Label = slots?.axisLabel ?? _AxisSharedComponents.ChartsLabel;
98
+ const Line = slots?.axisLine ?? 'line';
99
+ const Tick = slots?.axisTick ?? 'line';
100
+ const TickLabel = slots?.axisTickLabel ?? _ChartsText.ChartsText;
101
+ const Label = slots?.axisLabel ?? _ChartsText.ChartsText;
102
+ const axisTickLabelProps = (0, _utils.useSlotProps)({
103
+ elementType: TickLabel,
104
+ externalSlotProps: slotProps?.axisTickLabel,
105
+ additionalProps: {
106
+ textAnchor: position === 'right' ? 'start' : 'end',
107
+ dominantBaseline: 'central',
108
+ style: {
109
+ fontSize: tickFontSize
110
+ },
111
+ className: classes.tickLabel
112
+ },
113
+ ownerState: {}
114
+ });
115
+ const axisLabelProps = (0, _utils.useSlotProps)({
116
+ elementType: Label,
117
+ externalSlotProps: slotProps?.axisLabel,
118
+ additionalProps: {
119
+ textAnchor: 'middle',
120
+ dominantBaseline: 'auto',
121
+ style: {
122
+ fontSize: labelFontSize,
123
+ transform: `rotate(${positionSigne * 90}deg)`,
124
+ transformOrigin: `${labelRefPoint.x}px ${labelRefPoint.y}px`
125
+ },
126
+ className: classes.label
127
+ },
128
+ ownerState: {}
129
+ });
100
130
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_AxisSharedComponents.AxisRoot, {
101
131
  transform: `translate(${position === 'right' ? left + width : left}, 0)`,
102
132
  className: classes.root,
@@ -121,24 +151,15 @@ function ChartsYAxis(inProps) {
121
151
  x: xTickLabel,
122
152
  y: yTickLabel,
123
153
  "transform-origin": `${xTickLabel}px ${yTickLabel}px`,
124
- sx: {
125
- fontSize: tickFontSize
126
- },
127
- className: classes.tickLabel
128
- }, slotProps?.axisTickLabel, {
129
- children: formattedValue.toLocaleString()
130
- }))]
154
+ text: formattedValue.toString()
155
+ }, axisTickLabelProps))]
131
156
  }, index);
132
- }), label && /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({}, labelRefPoint, {
133
- sx: {
134
- fontSize: labelFontSize,
135
- transform: `rotate(${positionSigne * 90}deg)`,
136
- transformOrigin: `${labelRefPoint.x}px ${labelRefPoint.y}px`
137
- },
138
- className: classes.label
139
- }, slotProps?.axisLabel, {
140
- children: label
141
- }))]
157
+ }), label && /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
158
+ className: classes.label,
159
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({}, labelRefPoint, axisLabelProps, {
160
+ text: label
161
+ }))
162
+ })]
142
163
  });
143
164
  }
144
165
  process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
@@ -19,6 +19,9 @@ export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'ser
19
19
  series: MakeOptional<LineSeriesType, 'type'>[];
20
20
  tooltip?: ChartsTooltipProps;
21
21
  axisHighlight?: ChartsAxisHighlightProps;
22
+ /**
23
+ * @deprecated Consider using `slotProps.legend` instead.
24
+ */
22
25
  legend?: ChartsLegendProps;
23
26
  /**
24
27
  * If `true`, render the line highlight item.
@@ -173,23 +173,19 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
173
173
  tickNumber: _propTypes.default.number,
174
174
  tickSize: _propTypes.default.number
175
175
  }), _propTypes.default.string]),
176
+ /**
177
+ * @deprecated Consider using `slotProps.legend` instead.
178
+ */
176
179
  legend: _propTypes.default.shape({
177
180
  classes: _propTypes.default.object,
178
181
  direction: _propTypes.default.oneOf(['column', 'row']),
179
182
  hidden: _propTypes.default.bool,
180
- itemWidth: _propTypes.default.number,
181
- markSize: _propTypes.default.number,
182
- offset: _propTypes.default.shape({
183
- x: _propTypes.default.number,
184
- y: _propTypes.default.number
185
- }),
186
183
  position: _propTypes.default.shape({
187
184
  horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
188
185
  vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
189
186
  }),
190
187
  slotProps: _propTypes.default.object,
191
- slots: _propTypes.default.object,
192
- spacing: _propTypes.default.number
188
+ slots: _propTypes.default.object
193
189
  }),
194
190
  margin: _propTypes.default.shape({
195
191
  bottom: _propTypes.default.number,
@@ -17,6 +17,9 @@ export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'seri
17
17
  series: MakeOptional<PieSeriesType<MakeOptional<PieValueType, 'id'>>, 'type'>[];
18
18
  tooltip?: ChartsTooltipProps;
19
19
  axisHighlight?: ChartsAxisHighlightProps;
20
+ /**
21
+ * @deprecated Consider using `slotProps.legend` instead.
22
+ */
20
23
  legend?: ChartsLegendProps;
21
24
  onClick?: PiePlotProps['onClick'];
22
25
  slots?: PieChartSlotsComponent;
@@ -156,23 +156,19 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
156
156
  tickNumber: _propTypes.default.number,
157
157
  tickSize: _propTypes.default.number
158
158
  }), _propTypes.default.string]),
159
+ /**
160
+ * @deprecated Consider using `slotProps.legend` instead.
161
+ */
159
162
  legend: _propTypes.default.shape({
160
163
  classes: _propTypes.default.object,
161
164
  direction: _propTypes.default.oneOf(['column', 'row']),
162
165
  hidden: _propTypes.default.bool,
163
- itemWidth: _propTypes.default.number,
164
- markSize: _propTypes.default.number,
165
- offset: _propTypes.default.shape({
166
- x: _propTypes.default.number,
167
- y: _propTypes.default.number
168
- }),
169
166
  position: _propTypes.default.shape({
170
167
  horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
171
168
  vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
172
169
  }),
173
170
  slotProps: _propTypes.default.object,
174
- slots: _propTypes.default.object,
175
- spacing: _propTypes.default.number
171
+ slots: _propTypes.default.object
176
172
  }),
177
173
  margin: _propTypes.default.shape({
178
174
  bottom: _propTypes.default.number,
@@ -16,6 +16,9 @@ export interface ScatterChartProps extends Omit<ResponsiveChartContainerProps, '
16
16
  series: MakeOptional<ScatterSeriesType, 'type'>[];
17
17
  tooltip?: ChartsTooltipProps;
18
18
  axisHighlight?: ChartsAxisHighlightProps;
19
+ /**
20
+ * @deprecated Consider using `slotProps.legend` instead.
21
+ */
19
22
  legend?: ChartsLegendProps;
20
23
  /**
21
24
  * Overridable component slots.
@@ -136,23 +136,19 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
136
136
  tickNumber: _propTypes.default.number,
137
137
  tickSize: _propTypes.default.number
138
138
  }), _propTypes.default.string]),
139
+ /**
140
+ * @deprecated Consider using `slotProps.legend` instead.
141
+ */
139
142
  legend: _propTypes.default.shape({
140
143
  classes: _propTypes.default.object,
141
144
  direction: _propTypes.default.oneOf(['column', 'row']),
142
145
  hidden: _propTypes.default.bool,
143
- itemWidth: _propTypes.default.number,
144
- markSize: _propTypes.default.number,
145
- offset: _propTypes.default.shape({
146
- x: _propTypes.default.number,
147
- y: _propTypes.default.number
148
- }),
149
146
  position: _propTypes.default.shape({
150
147
  horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
151
148
  vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
152
149
  }),
153
150
  slotProps: _propTypes.default.object,
154
- slots: _propTypes.default.object,
155
- spacing: _propTypes.default.number
151
+ slots: _propTypes.default.object
156
152
  }),
157
153
  margin: _propTypes.default.shape({
158
154
  bottom: _propTypes.default.number,
package/constants.js CHANGED
@@ -7,7 +7,7 @@ exports.DEFAULT_Y_AXIS_KEY = exports.DEFAULT_X_AXIS_KEY = exports.DEFAULT_MARGIN
7
7
  const DEFAULT_X_AXIS_KEY = exports.DEFAULT_X_AXIS_KEY = 'DEFAULT_X_AXIS_KEY';
8
8
  const DEFAULT_Y_AXIS_KEY = exports.DEFAULT_Y_AXIS_KEY = 'DEFAULT_Y_AXIS_KEY';
9
9
  const DEFAULT_MARGINS = exports.DEFAULT_MARGINS = {
10
- top: 100,
10
+ top: 50,
11
11
  bottom: 50,
12
12
  left: 50,
13
13
  right: 50
@@ -119,13 +119,13 @@ function CartesianContextProvider({
119
119
  barGapRatio
120
120
  }, axis, {
121
121
  scale: (0, _d3Scale.scaleBand)(axis.data, range).paddingInner(categoryGapRatio).paddingOuter(categoryGapRatio / 2),
122
- ticksNumber: axis.data.length
122
+ tickNumber: axis.data.length
123
123
  });
124
124
  }
125
125
  if ((0, _axis.isPointScaleConfig)(axis)) {
126
126
  completedXAxis[axis.id] = (0, _extends2.default)({}, axis, {
127
127
  scale: (0, _d3Scale.scalePoint)(axis.data, range),
128
- ticksNumber: axis.data.length
128
+ tickNumber: axis.data.length
129
129
  });
130
130
  }
131
131
  if (axis.scaleType === 'band' || axis.scaleType === 'point') {
@@ -134,17 +134,17 @@ function CartesianContextProvider({
134
134
  }
135
135
  const scaleType = axis.scaleType ?? 'linear';
136
136
  const extremums = [axis.min ?? minData, axis.max ?? maxData];
137
- const ticksNumber = (0, _useTicks.getTicksNumber)((0, _extends2.default)({}, axis, {
137
+ const tickNumber = (0, _useTicks.getTickNumber)((0, _extends2.default)({}, axis, {
138
138
  range,
139
139
  domain: extremums
140
140
  }));
141
- const niceScale = (0, _getScale.getScale)(scaleType, extremums, range).nice(ticksNumber);
141
+ const niceScale = (0, _getScale.getScale)(scaleType, extremums, range).nice(tickNumber);
142
142
  const niceDomain = niceScale.domain();
143
143
  const domain = [axis.min ?? niceDomain[0], axis.max ?? niceDomain[1]];
144
144
  completedXAxis[axis.id] = (0, _extends2.default)({}, axis, {
145
145
  scaleType,
146
146
  scale: niceScale.domain(domain),
147
- ticksNumber
147
+ tickNumber
148
148
  });
149
149
  });
150
150
  const allYAxis = [...(yAxis?.map((axis, index) => (0, _extends2.default)({
@@ -167,13 +167,13 @@ function CartesianContextProvider({
167
167
  barGapRatio: 0
168
168
  }, axis, {
169
169
  scale: (0, _d3Scale.scaleBand)(axis.data, [range[1], range[0]]).paddingInner(categoryGapRatio).paddingOuter(categoryGapRatio / 2),
170
- ticksNumber: axis.data.length
170
+ tickNumber: axis.data.length
171
171
  });
172
172
  }
173
173
  if ((0, _axis.isPointScaleConfig)(axis)) {
174
174
  completedYAxis[axis.id] = (0, _extends2.default)({}, axis, {
175
175
  scale: (0, _d3Scale.scalePoint)(axis.data, [range[1], range[0]]),
176
- ticksNumber: axis.data.length
176
+ tickNumber: axis.data.length
177
177
  });
178
178
  }
179
179
  if (axis.scaleType === 'band' || axis.scaleType === 'point') {
@@ -182,17 +182,17 @@ function CartesianContextProvider({
182
182
  }
183
183
  const scaleType = axis.scaleType ?? 'linear';
184
184
  const extremums = [axis.min ?? minData, axis.max ?? maxData];
185
- const ticksNumber = (0, _useTicks.getTicksNumber)((0, _extends2.default)({}, axis, {
185
+ const tickNumber = (0, _useTicks.getTickNumber)((0, _extends2.default)({}, axis, {
186
186
  range,
187
187
  domain: extremums
188
188
  }));
189
- const niceScale = (0, _getScale.getScale)(scaleType, extremums, range).nice(ticksNumber);
189
+ const niceScale = (0, _getScale.getScale)(scaleType, extremums, range).nice(tickNumber);
190
190
  const niceDomain = niceScale.domain();
191
191
  const domain = [axis.min ?? niceDomain[0], axis.max ?? niceDomain[1]];
192
192
  completedYAxis[axis.id] = (0, _extends2.default)({}, axis, {
193
193
  scaleType,
194
194
  scale: niceScale.domain(domain),
195
- ticksNumber
195
+ tickNumber
196
196
  });
197
197
  });
198
198
  return {
@@ -10,6 +10,8 @@ export interface DrawingProviderProps extends LayoutConfig {
10
10
  export type DrawingArea = {
11
11
  left: number;
12
12
  top: number;
13
+ bottom: number;
14
+ right: number;
13
15
  width: number;
14
16
  height: number;
15
17
  };
@@ -20,6 +20,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
20
20
  const DrawingContext = exports.DrawingContext = /*#__PURE__*/React.createContext({
21
21
  top: 0,
22
22
  left: 0,
23
+ bottom: 0,
24
+ right: 0,
23
25
  height: 300,
24
26
  width: 400
25
27
  });
@@ -162,23 +162,19 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
162
162
  tickNumber: PropTypes.number,
163
163
  tickSize: PropTypes.number
164
164
  }), PropTypes.string]),
165
+ /**
166
+ * @deprecated Consider using `slotProps.legend` instead.
167
+ */
165
168
  legend: PropTypes.shape({
166
169
  classes: PropTypes.object,
167
170
  direction: PropTypes.oneOf(['column', 'row']),
168
171
  hidden: PropTypes.bool,
169
- itemWidth: PropTypes.number,
170
- markSize: PropTypes.number,
171
- offset: PropTypes.shape({
172
- x: PropTypes.number,
173
- y: PropTypes.number
174
- }),
175
172
  position: PropTypes.shape({
176
173
  horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
177
174
  vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
178
175
  }),
179
176
  slotProps: PropTypes.object,
180
- slots: PropTypes.object,
181
- spacing: PropTypes.number
177
+ slots: PropTypes.object
182
178
  }),
183
179
  margin: PropTypes.shape({
184
180
  bottom: PropTypes.number,