@mui/x-charts 7.0.0-alpha.2 → 7.0.0-alpha.3

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 (100) hide show
  1. package/BarChart/BarElement.d.ts +5 -1
  2. package/BarChart/BarElement.js +24 -1
  3. package/BarChart/index.d.ts +2 -1
  4. package/BarChart/index.js +15 -4
  5. package/CHANGELOG.md +241 -0
  6. package/ChartsLegend/index.d.ts +1 -0
  7. package/ChartsLegend/index.js +11 -0
  8. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +5 -2
  9. package/ChartsTooltip/ChartsAxisTooltipContent.js +93 -73
  10. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -2
  11. package/ChartsTooltip/ChartsItemTooltipContent.js +38 -57
  12. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +7 -0
  13. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +174 -0
  14. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +8 -0
  15. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +99 -0
  16. package/ChartsTooltip/index.d.ts +4 -0
  17. package/ChartsTooltip/index.js +44 -0
  18. package/ChartsYAxis/ChartsYAxis.js +6 -4
  19. package/LineChart/extremums.js +25 -8
  20. package/LineChart/index.d.ts +1 -1
  21. package/LineChart/index.js +11 -11
  22. package/PieChart/PieArc.d.ts +5 -2
  23. package/PieChart/PieArc.js +17 -2
  24. package/PieChart/PieArcLabel.d.ts +1 -1
  25. package/PieChart/PieArcLabel.js +5 -10
  26. package/PieChart/PieArcLabelPlot.d.ts +5 -1
  27. package/PieChart/PieArcLabelPlot.js +91 -3
  28. package/PieChart/PieArcPlot.d.ts +5 -1
  29. package/PieChart/PieArcPlot.js +90 -3
  30. package/PieChart/index.d.ts +3 -1
  31. package/PieChart/index.js +26 -4
  32. package/README.md +0 -1
  33. package/ScatterChart/Scatter.js +1 -1
  34. package/ScatterChart/index.d.ts +1 -1
  35. package/ScatterChart/index.js +8 -8
  36. package/esm/BarChart/BarElement.js +26 -2
  37. package/esm/BarChart/index.js +2 -1
  38. package/esm/ChartsLegend/index.js +2 -1
  39. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +95 -75
  40. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +40 -58
  41. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +168 -0
  42. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +92 -0
  43. package/esm/ChartsTooltip/index.js +5 -1
  44. package/esm/ChartsYAxis/ChartsYAxis.js +6 -4
  45. package/esm/LineChart/extremums.js +25 -8
  46. package/esm/LineChart/index.js +1 -1
  47. package/esm/PieChart/PieArc.js +18 -2
  48. package/esm/PieChart/PieArcLabel.js +7 -11
  49. package/esm/PieChart/PieArcLabelPlot.js +92 -3
  50. package/esm/PieChart/PieArcPlot.js +91 -3
  51. package/esm/PieChart/index.js +3 -1
  52. package/esm/ScatterChart/Scatter.js +1 -1
  53. package/esm/ScatterChart/index.js +1 -1
  54. package/esm/internals/defaultizeValueFormatter.js +4 -3
  55. package/index.js +1 -1
  56. package/internals/defaultizeValueFormatter.d.ts +3 -1
  57. package/internals/defaultizeValueFormatter.js +3 -3
  58. package/legacy/BarChart/BarElement.js +26 -2
  59. package/legacy/BarChart/index.js +2 -1
  60. package/legacy/ChartsLegend/index.js +2 -1
  61. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +95 -74
  62. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +40 -55
  63. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +167 -0
  64. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +89 -0
  65. package/legacy/ChartsTooltip/index.js +5 -1
  66. package/legacy/ChartsYAxis/ChartsYAxis.js +6 -4
  67. package/legacy/LineChart/extremums.js +29 -14
  68. package/legacy/LineChart/index.js +1 -1
  69. package/legacy/PieChart/PieArc.js +18 -2
  70. package/legacy/PieChart/PieArcLabel.js +7 -11
  71. package/legacy/PieChart/PieArcLabelPlot.js +92 -3
  72. package/legacy/PieChart/PieArcPlot.js +91 -3
  73. package/legacy/PieChart/index.js +3 -1
  74. package/legacy/ScatterChart/Scatter.js +1 -1
  75. package/legacy/ScatterChart/index.js +1 -1
  76. package/legacy/index.js +1 -1
  77. package/legacy/internals/defaultizeValueFormatter.js +4 -3
  78. package/models/seriesType/config.d.ts +5 -1
  79. package/models/seriesType/scatter.d.ts +1 -1
  80. package/modern/BarChart/BarElement.js +26 -2
  81. package/modern/BarChart/index.js +2 -1
  82. package/modern/ChartsLegend/index.js +2 -1
  83. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +95 -74
  84. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +40 -58
  85. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +167 -0
  86. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +92 -0
  87. package/modern/ChartsTooltip/index.js +5 -1
  88. package/modern/ChartsYAxis/ChartsYAxis.js +6 -4
  89. package/modern/LineChart/extremums.js +25 -8
  90. package/modern/LineChart/index.js +1 -1
  91. package/modern/PieChart/PieArc.js +18 -2
  92. package/modern/PieChart/PieArcLabel.js +7 -11
  93. package/modern/PieChart/PieArcLabelPlot.js +92 -3
  94. package/modern/PieChart/PieArcPlot.js +91 -3
  95. package/modern/PieChart/index.js +3 -1
  96. package/modern/ScatterChart/Scatter.js +1 -1
  97. package/modern/ScatterChart/index.js +1 -1
  98. package/modern/index.js +1 -1
  99. package/modern/internals/defaultizeValueFormatter.js +3 -3
  100. package/package.json +2 -2
@@ -5,68 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ChartsItemTooltipContent = ChartsItemTooltipContent;
8
- exports.DefaultChartsItemContent = DefaultChartsItemContent;
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var React = _interopRequireWildcard(require("react"));
11
- var _clsx = _interopRequireDefault(require("clsx"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _utils = require("@mui/base/utils");
13
12
  var _SeriesContextProvider = require("../context/SeriesContextProvider");
14
- var _ChartsTooltipTable = require("./ChartsTooltipTable");
13
+ var _DefaultChartsItemTooltipContent = require("./DefaultChartsItemTooltipContent");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
16
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- function DefaultChartsItemContent(props) {
19
- const {
20
- series,
21
- itemData,
22
- sx,
23
- classes
24
- } = props;
25
- if (itemData.dataIndex === undefined) {
26
- return null;
27
- }
28
- const {
29
- displayedLabel,
30
- color
31
- } = series.type === 'pie' ? {
32
- color: series.data[itemData.dataIndex].color,
33
- displayedLabel: series.data[itemData.dataIndex].label
34
- } : {
35
- color: series.color,
36
- displayedLabel: series.label
37
- };
38
-
39
- // TODO: Manage to let TS understand series.data and series.valueFormatter are coherent
40
- // @ts-ignore
41
- const formattedValue = series.valueFormatter(series.data[itemData.dataIndex]);
42
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
43
- sx: sx,
44
- className: classes.root,
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipTable, {
46
- className: classes.table,
47
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
48
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
49
- className: classes.row,
50
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
51
- className: (0, _clsx.default)(classes.markCell, classes.cell),
52
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
53
- ownerState: {
54
- color
55
- },
56
- className: classes.mark
57
- })
58
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
59
- className: (0, _clsx.default)(classes.labelCell, classes.cell),
60
- children: displayedLabel
61
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
62
- className: (0, _clsx.default)(classes.valueCell, classes.cell),
63
- children: formattedValue
64
- })]
65
- })
66
- })
67
- })
68
- });
69
- }
70
17
  function ChartsItemTooltipContent(props) {
71
18
  const {
72
19
  content,
@@ -76,7 +23,7 @@ function ChartsItemTooltipContent(props) {
76
23
  contentProps
77
24
  } = props;
78
25
  const series = React.useContext(_SeriesContextProvider.SeriesContext)[itemData.type].series[itemData.seriesId];
79
- const Content = content ?? DefaultChartsItemContent;
26
+ const Content = content ?? _DefaultChartsItemTooltipContent.DefaultChartsItemTooltipContent;
80
27
  const chartTooltipContentProps = (0, _utils.useSlotProps)({
81
28
  elementType: Content,
82
29
  externalSlotProps: contentProps,
@@ -89,4 +36,38 @@ function ChartsItemTooltipContent(props) {
89
36
  ownerState: {}
90
37
  });
91
38
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, (0, _extends2.default)({}, chartTooltipContentProps));
92
- }
39
+ }
40
+ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
41
+ // ----------------------------- Warning --------------------------------
42
+ // | These PropTypes are generated from the TypeScript type definitions |
43
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
44
+ // ----------------------------------------------------------------------
45
+ classes: _propTypes.default.object.isRequired,
46
+ content: _propTypes.default.elementType,
47
+ contentProps: _propTypes.default.shape({
48
+ classes: _propTypes.default.object,
49
+ itemData: _propTypes.default.shape({
50
+ dataIndex: _propTypes.default.number,
51
+ seriesId: _propTypes.default.string.isRequired,
52
+ type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
53
+ }),
54
+ series: _propTypes.default.shape({
55
+ color: _propTypes.default.string,
56
+ data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
57
+ highlightScope: _propTypes.default.shape({
58
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
59
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
60
+ }),
61
+ id: _propTypes.default.string.isRequired,
62
+ type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
63
+ valueFormatter: _propTypes.default.func.isRequired
64
+ }),
65
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
66
+ }),
67
+ itemData: _propTypes.default.shape({
68
+ dataIndex: _propTypes.default.number,
69
+ seriesId: _propTypes.default.string.isRequired,
70
+ type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
71
+ }).isRequired,
72
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
73
+ } : void 0;
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import type { ChartsAxisContentProps } from './ChartsAxisTooltipContent';
3
+ declare function DefaultChartsAxisTooltipContent(props: ChartsAxisContentProps): React.JSX.Element | null;
4
+ declare namespace DefaultChartsAxisTooltipContent {
5
+ var propTypes: any;
6
+ }
7
+ export { DefaultChartsAxisTooltipContent };
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DefaultChartsAxisTooltipContent = DefaultChartsAxisTooltipContent;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
12
+ var _ChartsTooltipTable = require("./ChartsTooltipTable");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function DefaultChartsAxisTooltipContent(props) {
17
+ const {
18
+ series,
19
+ axis,
20
+ dataIndex,
21
+ axisValue,
22
+ sx,
23
+ classes
24
+ } = props;
25
+ if (dataIndex == null) {
26
+ return null;
27
+ }
28
+ const axisFormatter = axis.valueFormatter ?? (v => v.toLocaleString());
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
30
+ sx: sx,
31
+ className: classes.root,
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipTable, {
33
+ className: classes.table,
34
+ children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipRow, {
36
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
37
+ colSpan: 3,
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
39
+ children: axisFormatter(axisValue)
40
+ })
41
+ })
42
+ })
43
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
44
+ children: series.map(({
45
+ color,
46
+ id,
47
+ label,
48
+ valueFormatter,
49
+ data
50
+ }) => {
51
+ const formattedValue = valueFormatter(data[dataIndex]);
52
+ if (formattedValue == null) {
53
+ return null;
54
+ }
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
56
+ className: classes.row,
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
58
+ className: (0, _clsx.default)(classes.markCell, classes.cell),
59
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
60
+ ownerState: {
61
+ color
62
+ },
63
+ boxShadow: 1,
64
+ className: classes.mark
65
+ })
66
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
67
+ className: (0, _clsx.default)(classes.labelCell, classes.cell),
68
+ children: label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
69
+ children: label
70
+ }) : null
71
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
72
+ className: (0, _clsx.default)(classes.valueCell, classes.cell),
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
74
+ children: formattedValue
75
+ })
76
+ })]
77
+ }, id);
78
+ })
79
+ })]
80
+ })
81
+ });
82
+ }
83
+ process.env.NODE_ENV !== "production" ? DefaultChartsAxisTooltipContent.propTypes = {
84
+ // ----------------------------- Warning --------------------------------
85
+ // | These PropTypes are generated from the TypeScript type definitions |
86
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
87
+ // ----------------------------------------------------------------------
88
+ /**
89
+ * The properties of the triggered axis.
90
+ */
91
+ axis: _propTypes.default.shape({
92
+ axisId: _propTypes.default.string,
93
+ classes: _propTypes.default.object,
94
+ data: _propTypes.default.array,
95
+ dataKey: _propTypes.default.string,
96
+ disableLine: _propTypes.default.bool,
97
+ disableTicks: _propTypes.default.bool,
98
+ fill: _propTypes.default.string,
99
+ hideTooltip: _propTypes.default.bool,
100
+ id: _propTypes.default.string.isRequired,
101
+ label: _propTypes.default.string,
102
+ labelFontSize: _propTypes.default.number,
103
+ labelStyle: _propTypes.default.object,
104
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
105
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
106
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
107
+ scale: _propTypes.default.func.isRequired,
108
+ scaleType: _propTypes.default.oneOf(['time']).isRequired,
109
+ slotProps: _propTypes.default.object,
110
+ slots: _propTypes.default.object,
111
+ stroke: _propTypes.default.string,
112
+ tickFontSize: _propTypes.default.number,
113
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
114
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
115
+ tickLabelStyle: _propTypes.default.object,
116
+ tickMaxStep: _propTypes.default.number,
117
+ tickMinStep: _propTypes.default.number,
118
+ tickNumber: _propTypes.default.number.isRequired,
119
+ tickSize: _propTypes.default.number,
120
+ valueFormatter: _propTypes.default.func
121
+ }).isRequired,
122
+ /**
123
+ * Data identifying the triggered axis.
124
+ */
125
+ axisData: _propTypes.default.shape({
126
+ x: _propTypes.default.shape({
127
+ index: _propTypes.default.number,
128
+ value: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired
129
+ }),
130
+ y: _propTypes.default.shape({
131
+ index: _propTypes.default.number,
132
+ value: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired
133
+ })
134
+ }).isRequired,
135
+ /**
136
+ * The value associated to the current mouse position.
137
+ */
138
+ axisValue: _propTypes.default.any.isRequired,
139
+ /**
140
+ * Override or extend the styles applied to the component.
141
+ */
142
+ classes: _propTypes.default.object.isRequired,
143
+ /**
144
+ * The index of the data item triggered.
145
+ */
146
+ dataIndex: _propTypes.default.number,
147
+ /**
148
+ * The series linked to the triggered axis.
149
+ */
150
+ series: _propTypes.default.arrayOf(_propTypes.default.shape({
151
+ area: _propTypes.default.bool,
152
+ color: _propTypes.default.string.isRequired,
153
+ connectNulls: _propTypes.default.bool,
154
+ curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
155
+ data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
156
+ dataKey: _propTypes.default.string,
157
+ disableHighlight: _propTypes.default.bool,
158
+ highlightScope: _propTypes.default.shape({
159
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
160
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
161
+ }),
162
+ id: _propTypes.default.string.isRequired,
163
+ label: _propTypes.default.string,
164
+ showMark: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.bool]),
165
+ stack: _propTypes.default.string,
166
+ stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
167
+ stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
168
+ type: _propTypes.default.oneOf(['line']).isRequired,
169
+ valueFormatter: _propTypes.default.func.isRequired,
170
+ xAxisKey: _propTypes.default.string,
171
+ yAxisKey: _propTypes.default.string
172
+ })).isRequired,
173
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
174
+ } : void 0;
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import { ChartSeriesType } from '../models/seriesType/config';
3
+ import type { ChartsItemContentProps } from './ChartsItemTooltipContent';
4
+ declare function DefaultChartsItemTooltipContent<T extends ChartSeriesType = ChartSeriesType>(props: ChartsItemContentProps<T>): React.JSX.Element | null;
5
+ declare namespace DefaultChartsItemTooltipContent {
6
+ var propTypes: any;
7
+ }
8
+ export { DefaultChartsItemTooltipContent };
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DefaultChartsItemTooltipContent = DefaultChartsItemTooltipContent;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+ var _ChartsTooltipTable = require("./ChartsTooltipTable");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function DefaultChartsItemTooltipContent(props) {
16
+ const {
17
+ series,
18
+ itemData,
19
+ sx,
20
+ classes
21
+ } = props;
22
+ if (itemData.dataIndex === undefined) {
23
+ return null;
24
+ }
25
+ const {
26
+ displayedLabel,
27
+ color
28
+ } = series.type === 'pie' ? {
29
+ color: series.data[itemData.dataIndex].color,
30
+ displayedLabel: series.data[itemData.dataIndex].label
31
+ } : {
32
+ color: series.color,
33
+ displayedLabel: series.label
34
+ };
35
+
36
+ // TODO: Manage to let TS understand series.data and series.valueFormatter are coherent
37
+ // @ts-ignore
38
+ const formattedValue = series.valueFormatter(series.data[itemData.dataIndex]);
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
40
+ sx: sx,
41
+ className: classes.root,
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipTable, {
43
+ className: classes.table,
44
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
45
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
46
+ className: classes.row,
47
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
48
+ className: (0, _clsx.default)(classes.markCell, classes.cell),
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
50
+ ownerState: {
51
+ color
52
+ },
53
+ className: classes.mark
54
+ })
55
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
56
+ className: (0, _clsx.default)(classes.labelCell, classes.cell),
57
+ children: displayedLabel
58
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
59
+ className: (0, _clsx.default)(classes.valueCell, classes.cell),
60
+ children: formattedValue
61
+ })]
62
+ })
63
+ })
64
+ })
65
+ });
66
+ }
67
+ process.env.NODE_ENV !== "production" ? DefaultChartsItemTooltipContent.propTypes = {
68
+ // ----------------------------- Warning --------------------------------
69
+ // | These PropTypes are generated from the TypeScript type definitions |
70
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
71
+ // ----------------------------------------------------------------------
72
+ /**
73
+ * Override or extend the styles applied to the component.
74
+ */
75
+ classes: _propTypes.default.object.isRequired,
76
+ /**
77
+ * The data used to identify the triggered item.
78
+ */
79
+ itemData: _propTypes.default.shape({
80
+ dataIndex: _propTypes.default.number,
81
+ seriesId: _propTypes.default.string.isRequired,
82
+ type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
83
+ }).isRequired,
84
+ /**
85
+ * The series linked to the triggered axis.
86
+ */
87
+ series: _propTypes.default.shape({
88
+ color: _propTypes.default.string,
89
+ data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
90
+ highlightScope: _propTypes.default.shape({
91
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
92
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
93
+ }),
94
+ id: _propTypes.default.string.isRequired,
95
+ type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
96
+ valueFormatter: _propTypes.default.func.isRequired
97
+ }).isRequired,
98
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
99
+ } : void 0;
@@ -1,2 +1,6 @@
1
1
  export * from './ChartsTooltip';
2
2
  export * from './chartsTooltipClasses';
3
+ export * from './ChartsAxisTooltipContent';
4
+ export * from './ChartsItemTooltipContent';
5
+ export * from './DefaultChartsAxisTooltipContent';
6
+ export * from './DefaultChartsItemTooltipContent';
@@ -24,4 +24,48 @@ Object.keys(_chartsTooltipClasses).forEach(function (key) {
24
24
  return _chartsTooltipClasses[key];
25
25
  }
26
26
  });
27
+ });
28
+ var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
29
+ Object.keys(_ChartsAxisTooltipContent).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _ChartsAxisTooltipContent[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _ChartsAxisTooltipContent[key];
36
+ }
37
+ });
38
+ });
39
+ var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
40
+ Object.keys(_ChartsItemTooltipContent).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _ChartsItemTooltipContent[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _ChartsItemTooltipContent[key];
47
+ }
48
+ });
49
+ });
50
+ var _DefaultChartsAxisTooltipContent = require("./DefaultChartsAxisTooltipContent");
51
+ Object.keys(_DefaultChartsAxisTooltipContent).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _DefaultChartsAxisTooltipContent[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _DefaultChartsAxisTooltipContent[key];
58
+ }
59
+ });
60
+ });
61
+ var _DefaultChartsItemTooltipContent = require("./DefaultChartsItemTooltipContent");
62
+ Object.keys(_DefaultChartsItemTooltipContent).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _DefaultChartsItemTooltipContent[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _DefaultChartsItemTooltipContent[key];
69
+ }
70
+ });
27
71
  });
@@ -82,6 +82,8 @@ function ChartsYAxis(inProps) {
82
82
  tickFontSize,
83
83
  label,
84
84
  labelFontSize,
85
+ labelStyle,
86
+ tickLabelStyle,
85
87
  tickSize: tickSizeProp,
86
88
  valueFormatter,
87
89
  slots,
@@ -116,11 +118,11 @@ function ChartsYAxis(inProps) {
116
118
  elementType: TickLabel,
117
119
  externalSlotProps: slotProps?.axisTickLabel,
118
120
  additionalProps: {
119
- style: {
121
+ style: (0, _extends2.default)({
120
122
  fontSize: tickFontSize,
121
123
  textAnchor: position === 'right' ? 'start' : 'end',
122
124
  dominantBaseline: 'central'
123
- },
125
+ }, tickLabelStyle),
124
126
  className: classes.tickLabel
125
127
  },
126
128
  ownerState: {}
@@ -129,12 +131,12 @@ function ChartsYAxis(inProps) {
129
131
  elementType: Label,
130
132
  externalSlotProps: slotProps?.axisLabel,
131
133
  additionalProps: {
132
- style: {
134
+ style: (0, _extends2.default)({
133
135
  fontSize: labelFontSize,
134
136
  angle: positionSign * 90,
135
137
  textAnchor: 'middle',
136
138
  dominantBaseline: 'auto'
137
- }
139
+ }, labelStyle)
138
140
  },
139
141
  ownerState: {}
140
142
  });
@@ -13,6 +13,18 @@ const getExtremumX = params => {
13
13
  return [minX, maxX];
14
14
  };
15
15
  exports.getExtremumX = getExtremumX;
16
+ function getSeriesExtremums(getValues, stackedData) {
17
+ if (stackedData.length === 0) {
18
+ return [null, null];
19
+ }
20
+ return stackedData.reduce((seriesAcc, stackedValue) => {
21
+ const [base, value] = getValues(stackedValue);
22
+ if (seriesAcc[0] === null) {
23
+ return [Math.min(base, value), Math.max(base, value)];
24
+ }
25
+ return [Math.min(base, value, seriesAcc[0]), Math.max(base, value, seriesAcc[1])];
26
+ }, getValues(stackedData[0]));
27
+ }
16
28
  const getExtremumY = params => {
17
29
  const {
18
30
  series,
@@ -20,16 +32,21 @@ const getExtremumY = params => {
20
32
  isDefaultAxis
21
33
  } = params;
22
34
  return Object.keys(series).filter(seriesId => series[seriesId].yAxisKey === axis.id || isDefaultAxis && series[seriesId].yAxisKey === undefined).reduce((acc, seriesId) => {
23
- const isArea = series[seriesId].area !== undefined;
24
- const getValues = isArea ? d => d : d => [d[1], d[1]]; // Id area should go from bottom to top, without area should only consider the top
35
+ const {
36
+ area,
37
+ stackedData
38
+ } = series[seriesId];
39
+ const isArea = area !== undefined;
40
+ const getValues = isArea ? d => d : d => [d[1], d[1]]; // Since this series is not used to display an area, we do not consider the base (the d[0]).
25
41
 
26
- const [seriesMin, seriesMax] = series[seriesId].stackedData.reduce((seriesAcc, stackedValue) => {
27
- const [base, value] = getValues(stackedValue);
28
- return [Math.min(base, value, seriesAcc[0]), Math.max(base, value, seriesAcc[1])];
29
- }, getValues(series[seriesId].stackedData[0]));
30
- if (acc[0] === null || acc[1] === null) {
31
- return [seriesMin, seriesMax];
42
+ const seriesExtremums = getSeriesExtremums(getValues, stackedData);
43
+ if (acc[0] === null) {
44
+ return seriesExtremums;
45
+ }
46
+ if (seriesExtremums[0] === null) {
47
+ return acc;
32
48
  }
49
+ const [seriesMin, seriesMax] = seriesExtremums;
33
50
  return [Math.min(seriesMin, acc[0]), Math.max(seriesMax, acc[1])];
34
51
  }, [null, null]);
35
52
  };
@@ -1,8 +1,8 @@
1
+ export * from './LineChart';
1
2
  export * from './LinePlot';
2
3
  export * from './AreaPlot';
3
4
  export * from './MarkPlot';
4
5
  export * from './LineHighlightPlot';
5
- export * from './LineChart';
6
6
  export * from './AreaElement';
7
7
  export * from './LineElement';
8
8
  export * from './MarkElement';
@@ -3,6 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _LineChart = require("./LineChart");
7
+ Object.keys(_LineChart).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _LineChart[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _LineChart[key];
14
+ }
15
+ });
16
+ });
6
17
  var _LinePlot = require("./LinePlot");
7
18
  Object.keys(_LinePlot).forEach(function (key) {
8
19
  if (key === "default" || key === "__esModule") return;
@@ -47,17 +58,6 @@ Object.keys(_LineHighlightPlot).forEach(function (key) {
47
58
  }
48
59
  });
49
60
  });
50
- var _LineChart = require("./LineChart");
51
- Object.keys(_LineChart).forEach(function (key) {
52
- if (key === "default" || key === "__esModule") return;
53
- if (key in exports && exports[key] === _LineChart[key]) return;
54
- Object.defineProperty(exports, key, {
55
- enumerable: true,
56
- get: function () {
57
- return _LineChart[key];
58
- }
59
- });
60
- });
61
61
  var _AreaElement = require("./AreaElement");
62
62
  Object.keys(_AreaElement).forEach(function (key) {
63
63
  if (key === "default" || key === "__esModule") return;
@@ -30,5 +30,8 @@ export type PieArcProps = PieArcOwnerState & React.ComponentPropsWithoutRef<'pat
30
30
  highlightScope?: Partial<HighlightScope>;
31
31
  onClick?: (event: React.MouseEvent<SVGPathElement, MouseEvent>) => void;
32
32
  };
33
- export default function PieArc(props: PieArcProps): React.JSX.Element;
34
- export {};
33
+ declare function PieArc(props: PieArcProps): React.JSX.Element;
34
+ declare namespace PieArc {
35
+ var propTypes: any;
36
+ }
37
+ export { PieArc };
@@ -4,12 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = PieArc;
7
+ exports.PieArc = PieArc;
8
8
  exports.getPieArcUtilityClass = getPieArcUtilityClass;
9
9
  exports.pieArcClasses = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
14
  var _d3Shape = require("d3-shape");
14
15
  var _web = require("@react-spring/web");
15
16
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
@@ -93,4 +94,18 @@ function PieArc(props) {
93
94
  seriesId: id,
94
95
  dataIndex
95
96
  })));
96
- }
97
+ }
98
+ process.env.NODE_ENV !== "production" ? PieArc.propTypes = {
99
+ // ----------------------------- Warning --------------------------------
100
+ // | These PropTypes are generated from the TypeScript type definitions |
101
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
102
+ // ----------------------------------------------------------------------
103
+ classes: _propTypes.default.object,
104
+ dataIndex: _propTypes.default.number.isRequired,
105
+ highlightScope: _propTypes.default.shape({
106
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
107
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
108
+ }),
109
+ isFaded: _propTypes.default.bool.isRequired,
110
+ isHighlighted: _propTypes.default.bool.isRequired
111
+ } : void 0;
@@ -32,4 +32,4 @@ declare function PieArcLabel(props: PieArcLabelProps): React.JSX.Element;
32
32
  declare namespace PieArcLabel {
33
33
  var propTypes: any;
34
34
  }
35
- export default PieArcLabel;
35
+ export { PieArcLabel };