@mui/x-charts 7.0.0-alpha.1 → 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 (133) hide show
  1. package/BarChart/BarElement.d.ts +5 -1
  2. package/BarChart/BarElement.js +24 -1
  3. package/BarChart/index.d.ts +3 -2
  4. package/BarChart/index.js +31 -12
  5. package/CHANGELOG.md +607 -188
  6. package/ChartsLegend/index.d.ts +1 -0
  7. package/ChartsLegend/index.js +11 -0
  8. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +6 -3
  9. package/ChartsTooltip/ChartsAxisTooltipContent.js +93 -69
  10. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +6 -3
  11. package/ChartsTooltip/ChartsItemTooltipContent.js +38 -53
  12. package/ChartsTooltip/ChartsTooltip.d.ts +1 -1
  13. package/ChartsTooltip/ChartsTooltip.js +13 -5
  14. package/ChartsTooltip/ChartsTooltipTable.js +3 -3
  15. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +7 -0
  16. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +174 -0
  17. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +8 -0
  18. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +99 -0
  19. package/ChartsTooltip/chartsTooltipClasses.d.ts +21 -0
  20. package/ChartsTooltip/chartsTooltipClasses.js +12 -0
  21. package/ChartsTooltip/index.d.ts +5 -0
  22. package/ChartsTooltip/index.js +55 -0
  23. package/ChartsTooltip/utils.d.ts +1 -1
  24. package/ChartsTooltip/utils.js +2 -2
  25. package/ChartsYAxis/ChartsYAxis.js +6 -4
  26. package/LineChart/extremums.js +25 -8
  27. package/LineChart/index.d.ts +5 -5
  28. package/LineChart/index.js +50 -41
  29. package/PieChart/PieArc.d.ts +5 -2
  30. package/PieChart/PieArc.js +17 -2
  31. package/PieChart/PieArcLabel.d.ts +1 -1
  32. package/PieChart/PieArcLabel.js +5 -10
  33. package/PieChart/PieArcLabelPlot.d.ts +5 -1
  34. package/PieChart/PieArcLabelPlot.js +91 -3
  35. package/PieChart/PieArcPlot.d.ts +5 -1
  36. package/PieChart/PieArcPlot.js +90 -3
  37. package/PieChart/index.d.ts +4 -2
  38. package/PieChart/index.js +42 -18
  39. package/README.md +0 -1
  40. package/ScatterChart/Scatter.js +1 -1
  41. package/ScatterChart/index.d.ts +3 -3
  42. package/ScatterChart/index.js +31 -19
  43. package/SparkLineChart/index.d.ts +1 -1
  44. package/SparkLineChart/index.js +11 -7
  45. package/esm/BarChart/BarElement.js +26 -2
  46. package/esm/BarChart/index.js +3 -2
  47. package/esm/ChartsLegend/index.js +2 -1
  48. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +95 -71
  49. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +40 -54
  50. package/esm/ChartsTooltip/ChartsTooltip.js +15 -7
  51. package/esm/ChartsTooltip/ChartsTooltipTable.js +3 -3
  52. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +168 -0
  53. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +92 -0
  54. package/esm/ChartsTooltip/chartsTooltipClasses.js +5 -0
  55. package/esm/ChartsTooltip/index.js +6 -1
  56. package/esm/ChartsTooltip/utils.js +1 -1
  57. package/esm/ChartsYAxis/ChartsYAxis.js +6 -4
  58. package/esm/LineChart/extremums.js +25 -8
  59. package/esm/LineChart/index.js +5 -5
  60. package/esm/PieChart/PieArc.js +18 -2
  61. package/esm/PieChart/PieArcLabel.js +7 -11
  62. package/esm/PieChart/PieArcLabelPlot.js +92 -3
  63. package/esm/PieChart/PieArcPlot.js +91 -3
  64. package/esm/PieChart/index.js +4 -2
  65. package/esm/ScatterChart/Scatter.js +1 -1
  66. package/esm/ScatterChart/index.js +3 -3
  67. package/esm/SparkLineChart/index.js +1 -1
  68. package/esm/internals/defaultizeValueFormatter.js +4 -3
  69. package/index.js +1 -1
  70. package/internals/defaultizeValueFormatter.d.ts +3 -1
  71. package/internals/defaultizeValueFormatter.js +3 -3
  72. package/legacy/BarChart/BarElement.js +26 -2
  73. package/legacy/BarChart/index.js +3 -2
  74. package/legacy/ChartsLegend/index.js +2 -1
  75. package/legacy/ChartsReferenceLine/common.js +3 -4
  76. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +95 -70
  77. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +40 -51
  78. package/legacy/ChartsTooltip/ChartsTooltip.js +20 -12
  79. package/legacy/ChartsTooltip/ChartsTooltipTable.js +7 -8
  80. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +167 -0
  81. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +89 -0
  82. package/legacy/ChartsTooltip/chartsTooltipClasses.js +5 -0
  83. package/legacy/ChartsTooltip/index.js +6 -1
  84. package/legacy/ChartsTooltip/utils.js +1 -1
  85. package/legacy/ChartsYAxis/ChartsYAxis.js +6 -4
  86. package/legacy/LineChart/extremums.js +29 -14
  87. package/legacy/LineChart/index.js +5 -5
  88. package/legacy/PieChart/PieArc.js +18 -2
  89. package/legacy/PieChart/PieArcLabel.js +7 -11
  90. package/legacy/PieChart/PieArcLabelPlot.js +92 -3
  91. package/legacy/PieChart/PieArcPlot.js +91 -3
  92. package/legacy/PieChart/index.js +4 -2
  93. package/legacy/ScatterChart/Scatter.js +1 -1
  94. package/legacy/ScatterChart/index.js +3 -3
  95. package/legacy/SparkLineChart/index.js +1 -1
  96. package/legacy/index.js +1 -1
  97. package/legacy/internals/components/AxisSharedComponents.js +5 -6
  98. package/legacy/internals/defaultizeValueFormatter.js +4 -3
  99. package/models/seriesType/config.d.ts +5 -1
  100. package/models/seriesType/scatter.d.ts +1 -1
  101. package/modern/BarChart/BarElement.js +26 -2
  102. package/modern/BarChart/index.js +3 -2
  103. package/modern/ChartsLegend/index.js +2 -1
  104. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +95 -70
  105. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +40 -54
  106. package/modern/ChartsTooltip/ChartsTooltip.js +15 -7
  107. package/modern/ChartsTooltip/ChartsTooltipTable.js +3 -3
  108. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +167 -0
  109. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +92 -0
  110. package/modern/ChartsTooltip/chartsTooltipClasses.js +5 -0
  111. package/modern/ChartsTooltip/index.js +6 -1
  112. package/modern/ChartsTooltip/utils.js +1 -1
  113. package/modern/ChartsYAxis/ChartsYAxis.js +6 -4
  114. package/modern/LineChart/extremums.js +25 -8
  115. package/modern/LineChart/index.js +5 -5
  116. package/modern/PieChart/PieArc.js +18 -2
  117. package/modern/PieChart/PieArcLabel.js +7 -11
  118. package/modern/PieChart/PieArcLabelPlot.js +92 -3
  119. package/modern/PieChart/PieArcPlot.js +91 -3
  120. package/modern/PieChart/index.js +4 -2
  121. package/modern/ScatterChart/Scatter.js +1 -1
  122. package/modern/ScatterChart/index.js +3 -3
  123. package/modern/SparkLineChart/index.js +1 -1
  124. package/modern/index.js +1 -1
  125. package/modern/internals/defaultizeValueFormatter.js +3 -3
  126. package/package.json +5 -4
  127. package/themeAugmentation/components.d.ts +1 -0
  128. package/themeAugmentation/overrides.d.ts +2 -0
  129. package/ChartsTooltip/tooltipClasses.d.ts +0 -13
  130. package/ChartsTooltip/tooltipClasses.js +0 -12
  131. package/esm/ChartsTooltip/tooltipClasses.js +0 -5
  132. package/legacy/ChartsTooltip/tooltipClasses.js +0 -5
  133. package/modern/ChartsTooltip/tooltipClasses.js +0 -5
@@ -1,2 +1,3 @@
1
1
  export * from './ChartsLegend';
2
2
  export * from './chartsLegendClasses';
3
+ export * from './utils';
@@ -24,4 +24,15 @@ Object.keys(_chartsLegendClasses).forEach(function (key) {
24
24
  return _chartsLegendClasses[key];
25
25
  }
26
26
  });
27
+ });
28
+ var _utils = require("./utils");
29
+ Object.keys(_utils).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _utils[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _utils[key];
36
+ }
37
+ });
27
38
  });
@@ -3,7 +3,7 @@ import { SxProps, Theme } from '@mui/material/styles';
3
3
  import { AxisInteractionData } from '../context/InteractionProvider';
4
4
  import { ChartSeriesDefaultized, ChartSeriesType } from '../models/seriesType/config';
5
5
  import { AxisDefaultized } from '../models/axis';
6
- import { ChartsTooltipClasses } from './tooltipClasses';
6
+ import { ChartsTooltipClasses } from './chartsTooltipClasses';
7
7
  export type ChartsAxisContentProps = {
8
8
  /**
9
9
  * Data identifying the triggered axis.
@@ -31,11 +31,14 @@ export type ChartsAxisContentProps = {
31
31
  classes: ChartsTooltipClasses;
32
32
  sx?: SxProps<Theme>;
33
33
  };
34
- export declare function DefaultChartsAxisContent(props: ChartsAxisContentProps): React.JSX.Element | null;
35
- export declare function ChartsAxisTooltipContent(props: {
34
+ declare function ChartsAxisTooltipContent(props: {
36
35
  axisData: AxisInteractionData;
37
36
  content?: React.ElementType<ChartsAxisContentProps>;
38
37
  contentProps?: Partial<ChartsAxisContentProps>;
39
38
  sx?: SxProps<Theme>;
40
39
  classes: ChartsAxisContentProps['classes'];
41
40
  }): React.JSX.Element;
41
+ declare namespace ChartsAxisTooltipContent {
42
+ var propTypes: any;
43
+ }
44
+ export { ChartsAxisTooltipContent };
@@ -5,81 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ChartsAxisTooltipContent = ChartsAxisTooltipContent;
8
- exports.DefaultChartsAxisContent = DefaultChartsAxisContent;
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var React = _interopRequireWildcard(require("react"));
11
- var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _utils = require("@mui/base/utils");
13
12
  var _SeriesContextProvider = require("../context/SeriesContextProvider");
14
13
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
15
- var _ChartsTooltipTable = require("./ChartsTooltipTable");
14
+ var _DefaultChartsAxisTooltipContent = require("./DefaultChartsAxisTooltipContent");
16
15
  var _jsxRuntime = require("react/jsx-runtime");
17
16
  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); }
18
17
  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; }
19
- function DefaultChartsAxisContent(props) {
20
- const {
21
- series,
22
- axis,
23
- dataIndex,
24
- axisValue,
25
- sx,
26
- classes
27
- } = props;
28
- if (dataIndex == null) {
29
- return null;
30
- }
31
- const axisFormatter = axis.valueFormatter ?? (v => v.toLocaleString());
32
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
33
- sx: sx,
34
- className: classes.root,
35
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipTable, {
36
- children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
37
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipRow, {
38
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
39
- colSpan: 3,
40
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
41
- children: axisFormatter(axisValue)
42
- })
43
- })
44
- })
45
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
46
- children: series.map(({
47
- color,
48
- id,
49
- label,
50
- valueFormatter,
51
- data
52
- }) => {
53
- const formattedValue = valueFormatter(data[dataIndex]);
54
- if (formattedValue == null) {
55
- return null;
56
- }
57
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
58
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
59
- className: classes.markCell,
60
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
61
- ownerState: {
62
- color
63
- },
64
- boxShadow: 1
65
- })
66
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
67
- className: classes.labelCell,
68
- children: label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
69
- children: label
70
- }) : null
71
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
72
- className: classes.valueCell,
73
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
74
- children: formattedValue
75
- })
76
- })]
77
- }, id);
78
- })
79
- })]
80
- })
81
- });
82
- }
83
18
  function ChartsAxisTooltipContent(props) {
84
19
  const {
85
20
  content,
@@ -115,7 +50,7 @@ function ChartsAxisTooltipContent(props) {
115
50
  const relevantAxis = React.useMemo(() => {
116
51
  return isXaxis ? xAxis[USED_AXIS_ID] : yAxis[USED_AXIS_ID];
117
52
  }, [USED_AXIS_ID, isXaxis, xAxis, yAxis]);
118
- const Content = content ?? DefaultChartsAxisContent;
53
+ const Content = content ?? _DefaultChartsAxisTooltipContent.DefaultChartsAxisTooltipContent;
119
54
  const chartTooltipContentProps = (0, _utils.useSlotProps)({
120
55
  elementType: Content,
121
56
  externalSlotProps: contentProps,
@@ -131,4 +66,93 @@ function ChartsAxisTooltipContent(props) {
131
66
  ownerState: {}
132
67
  });
133
68
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, (0, _extends2.default)({}, chartTooltipContentProps));
134
- }
69
+ }
70
+ process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
71
+ // ----------------------------- Warning --------------------------------
72
+ // | These PropTypes are generated from the TypeScript type definitions |
73
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
74
+ // ----------------------------------------------------------------------
75
+ axisData: _propTypes.default.shape({
76
+ x: _propTypes.default.shape({
77
+ index: _propTypes.default.number,
78
+ value: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired
79
+ }),
80
+ y: _propTypes.default.shape({
81
+ index: _propTypes.default.number,
82
+ value: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired
83
+ })
84
+ }).isRequired,
85
+ classes: _propTypes.default.object.isRequired,
86
+ content: _propTypes.default.elementType,
87
+ contentProps: _propTypes.default.shape({
88
+ axis: _propTypes.default.shape({
89
+ axisId: _propTypes.default.string,
90
+ classes: _propTypes.default.object,
91
+ data: _propTypes.default.array,
92
+ dataKey: _propTypes.default.string,
93
+ disableLine: _propTypes.default.bool,
94
+ disableTicks: _propTypes.default.bool,
95
+ fill: _propTypes.default.string,
96
+ hideTooltip: _propTypes.default.bool,
97
+ id: _propTypes.default.string.isRequired,
98
+ label: _propTypes.default.string,
99
+ labelFontSize: _propTypes.default.number,
100
+ labelStyle: _propTypes.default.object,
101
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
102
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
103
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
104
+ scale: _propTypes.default.func.isRequired,
105
+ scaleType: _propTypes.default.oneOf(['time']).isRequired,
106
+ slotProps: _propTypes.default.object,
107
+ slots: _propTypes.default.object,
108
+ stroke: _propTypes.default.string,
109
+ tickFontSize: _propTypes.default.number,
110
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
111
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
112
+ tickLabelStyle: _propTypes.default.object,
113
+ tickMaxStep: _propTypes.default.number,
114
+ tickMinStep: _propTypes.default.number,
115
+ tickNumber: _propTypes.default.number.isRequired,
116
+ tickSize: _propTypes.default.number,
117
+ valueFormatter: _propTypes.default.func
118
+ }),
119
+ axisData: _propTypes.default.shape({
120
+ x: _propTypes.default.shape({
121
+ index: _propTypes.default.number,
122
+ value: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired
123
+ }),
124
+ y: _propTypes.default.shape({
125
+ index: _propTypes.default.number,
126
+ value: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired
127
+ })
128
+ }),
129
+ axisValue: _propTypes.default.any,
130
+ classes: _propTypes.default.object,
131
+ dataIndex: _propTypes.default.number,
132
+ series: _propTypes.default.arrayOf(_propTypes.default.shape({
133
+ area: _propTypes.default.bool,
134
+ color: _propTypes.default.string.isRequired,
135
+ connectNulls: _propTypes.default.bool,
136
+ curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
137
+ data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
138
+ dataKey: _propTypes.default.string,
139
+ disableHighlight: _propTypes.default.bool,
140
+ highlightScope: _propTypes.default.shape({
141
+ faded: _propTypes.default.oneOf(['global', 'none', 'series']),
142
+ highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
143
+ }),
144
+ id: _propTypes.default.string.isRequired,
145
+ label: _propTypes.default.string,
146
+ showMark: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.bool]),
147
+ stack: _propTypes.default.string,
148
+ stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
149
+ stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
150
+ type: _propTypes.default.oneOf(['line']).isRequired,
151
+ valueFormatter: _propTypes.default.func.isRequired,
152
+ xAxisKey: _propTypes.default.string,
153
+ yAxisKey: _propTypes.default.string
154
+ })),
155
+ 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])
156
+ }),
157
+ 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])
158
+ } : void 0;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { SxProps, Theme } from '@mui/material/styles';
3
3
  import { ItemInteractionData } from '../context/InteractionProvider';
4
4
  import { ChartSeriesDefaultized, ChartSeriesType } from '../models/seriesType/config';
5
- import { ChartsTooltipClasses } from './tooltipClasses';
5
+ import { ChartsTooltipClasses } from './chartsTooltipClasses';
6
6
  export type ChartsItemContentProps<T extends ChartSeriesType = ChartSeriesType> = {
7
7
  /**
8
8
  * The data used to identify the triggered item.
@@ -18,11 +18,14 @@ export type ChartsItemContentProps<T extends ChartSeriesType = ChartSeriesType>
18
18
  classes: ChartsTooltipClasses;
19
19
  sx?: SxProps<Theme>;
20
20
  };
21
- export declare function DefaultChartsItemContent<T extends ChartSeriesType = ChartSeriesType>(props: ChartsItemContentProps<T>): React.JSX.Element | null;
22
- export declare function ChartsItemTooltipContent<T extends ChartSeriesType>(props: {
21
+ declare function ChartsItemTooltipContent<T extends ChartSeriesType>(props: {
23
22
  itemData: ItemInteractionData<T>;
24
23
  content?: React.ElementType<ChartsItemContentProps<T>>;
25
24
  contentProps?: Partial<ChartsItemContentProps<T>>;
26
25
  sx?: SxProps<Theme>;
27
26
  classes: ChartsItemContentProps<T>['classes'];
28
27
  }): React.JSX.Element;
28
+ declare namespace ChartsItemTooltipContent {
29
+ var propTypes: any;
30
+ }
31
+ export { ChartsItemTooltipContent };
@@ -5,64 +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"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _utils = require("@mui/base/utils");
12
12
  var _SeriesContextProvider = require("../context/SeriesContextProvider");
13
- var _ChartsTooltipTable = require("./ChartsTooltipTable");
13
+ var _DefaultChartsItemTooltipContent = require("./DefaultChartsItemTooltipContent");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
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); }
16
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; }
17
- function DefaultChartsItemContent(props) {
18
- const {
19
- series,
20
- itemData,
21
- sx,
22
- classes
23
- } = props;
24
- if (itemData.dataIndex === undefined) {
25
- return null;
26
- }
27
- const {
28
- displayedLabel,
29
- color
30
- } = series.type === 'pie' ? {
31
- color: series.data[itemData.dataIndex].color,
32
- displayedLabel: series.data[itemData.dataIndex].label
33
- } : {
34
- color: series.color,
35
- displayedLabel: series.label
36
- };
37
-
38
- // TODO: Manage to let TS understand series.data and series.valueFormatter are coherent
39
- // @ts-ignore
40
- const formattedValue = series.valueFormatter(series.data[itemData.dataIndex]);
41
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
42
- sx: sx,
43
- className: classes.root,
44
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipTable, {
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
46
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
47
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
48
- className: classes.markCell,
49
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
50
- ownerState: {
51
- color
52
- }
53
- })
54
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
55
- className: classes.labelCell,
56
- children: displayedLabel
57
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
58
- className: classes.valueCell,
59
- children: formattedValue
60
- })]
61
- })
62
- })
63
- })
64
- });
65
- }
66
17
  function ChartsItemTooltipContent(props) {
67
18
  const {
68
19
  content,
@@ -72,7 +23,7 @@ function ChartsItemTooltipContent(props) {
72
23
  contentProps
73
24
  } = props;
74
25
  const series = React.useContext(_SeriesContextProvider.SeriesContext)[itemData.type].series[itemData.seriesId];
75
- const Content = content ?? DefaultChartsItemContent;
26
+ const Content = content ?? _DefaultChartsItemTooltipContent.DefaultChartsItemTooltipContent;
76
27
  const chartTooltipContentProps = (0, _utils.useSlotProps)({
77
28
  elementType: Content,
78
29
  externalSlotProps: contentProps,
@@ -85,4 +36,38 @@ function ChartsItemTooltipContent(props) {
85
36
  ownerState: {}
86
37
  });
87
38
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, (0, _extends2.default)({}, chartTooltipContentProps));
88
- }
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;
@@ -3,7 +3,7 @@ import { PopperProps } from '@mui/base/Popper';
3
3
  import { TriggerOptions } from './utils';
4
4
  import { ChartsItemContentProps } from './ChartsItemTooltipContent';
5
5
  import { ChartsAxisContentProps } from './ChartsAxisTooltipContent';
6
- import { ChartsTooltipClasses } from './tooltipClasses';
6
+ import { ChartsTooltipClasses } from './chartsTooltipClasses';
7
7
  export interface ChartsTooltipSlots {
8
8
  popper?: React.ElementType<PopperProps>;
9
9
  axisContent?: React.ElementType<ChartsAxisContentProps>;
@@ -17,7 +17,7 @@ var _InteractionProvider = require("../context/InteractionProvider");
17
17
  var _utils2 = require("./utils");
18
18
  var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
19
19
  var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
20
- var _tooltipClasses = require("./tooltipClasses");
20
+ var _chartsTooltipClasses = require("./chartsTooltipClasses");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
22
  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); }
23
23
  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; }
@@ -27,11 +27,15 @@ const useUtilityClasses = ownerState => {
27
27
  } = ownerState;
28
28
  const slots = {
29
29
  root: ['root'],
30
+ table: ['table'],
31
+ row: ['row'],
32
+ cell: ['cell'],
33
+ mark: ['mark'],
30
34
  markCell: ['markCell'],
31
35
  labelCell: ['labelCell'],
32
36
  valueCell: ['valueCell']
33
37
  };
34
- return (0, _composeClasses.default)(slots, _tooltipClasses.getTooltipUtilityClass, classes);
38
+ return (0, _composeClasses.default)(slots, _chartsTooltipClasses.getChartsTooltipUtilityClass, classes);
35
39
  };
36
40
  const ChartsTooltipRoot = (0, _styles.styled)(_Popper.Popper, {
37
41
  name: 'MuiChartsTooltip',
@@ -54,23 +58,27 @@ const ChartsTooltipRoot = (0, _styles.styled)(_Popper.Popper, {
54
58
  * - [ChartsTooltip API](https://mui.com/x/api/charts/charts-tool-tip/)
55
59
  */
56
60
  function ChartsTooltip(props) {
61
+ const themeProps = (0, _styles.useThemeProps)({
62
+ props,
63
+ name: 'MuiChartsTooltip'
64
+ });
57
65
  const {
58
66
  trigger = 'axis',
59
67
  itemContent,
60
68
  axisContent,
61
69
  slots,
62
70
  slotProps
63
- } = props;
71
+ } = themeProps;
64
72
  const mousePosition = (0, _utils2.useMouseTracker)();
65
73
  const {
66
74
  item,
67
75
  axis
68
76
  } = React.useContext(_InteractionProvider.InteractionContext);
69
77
  const displayedData = trigger === 'item' ? item : axis;
70
- const tooltipHasData = (0, _utils2.getTootipHasData)(trigger, displayedData);
78
+ const tooltipHasData = (0, _utils2.getTooltipHasData)(trigger, displayedData);
71
79
  const popperOpen = mousePosition !== null && tooltipHasData;
72
80
  const classes = useUtilityClasses({
73
- classes: props.classes
81
+ classes: themeProps.classes
74
82
  });
75
83
  const PopperComponent = slots?.popper ?? ChartsTooltipRoot;
76
84
  const popperProps = (0, _utils.useSlotProps)({
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.ChartsTooltipTable = exports.ChartsTooltipRow = exports.ChartsTooltipPaper = exports.ChartsTooltipMark = exports.ChartsTooltipCell = void 0;
8
8
  var _Box = _interopRequireDefault(require("@mui/system/Box"));
9
9
  var _styles = require("@mui/material/styles");
10
- var _tooltipClasses = require("./tooltipClasses");
10
+ var _chartsTooltipClasses = require("./chartsTooltipClasses");
11
11
  const ChartsTooltipPaper = exports.ChartsTooltipPaper = (0, _styles.styled)('div', {
12
12
  name: 'MuiChartsTooltip',
13
13
  slot: 'Container'
@@ -52,10 +52,10 @@ const ChartsTooltipCell = exports.ChartsTooltipCell = (0, _styles.styled)('td',
52
52
  }) => ({
53
53
  verticalAlign: 'middle',
54
54
  color: (theme.vars || theme).palette.text.secondary,
55
- [`&.${_tooltipClasses.tooltipClasses.labelCell}`]: {
55
+ [`&.${_chartsTooltipClasses.chartsTooltipClasses.labelCell}`]: {
56
56
  paddingLeft: theme.spacing(1)
57
57
  },
58
- [`&.${_tooltipClasses.tooltipClasses.valueCell}`]: {
58
+ [`&.${_chartsTooltipClasses.chartsTooltipClasses.valueCell}`]: {
59
59
  paddingLeft: theme.spacing(4),
60
60
  color: (theme.vars || theme).palette.text.primary
61
61
  },
@@ -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 };