@mui/x-charts 7.0.0-beta.3 → 7.0.0-beta.5

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 (221) hide show
  1. package/BarChart/BarChart.js +0 -2
  2. package/CHANGELOG.md +357 -22
  3. package/ChartsGrid/ChartsGrid.js +2 -2
  4. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  5. package/ChartsTooltip/utils.js +1 -1
  6. package/ChartsVoronoiHandler/ChartsVoronoiHandler.d.ts +0 -1
  7. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +1 -2
  8. package/ChartsXAxis/ChartsXAxis.js +1 -1
  9. package/ChartsYAxis/ChartsYAxis.js +1 -1
  10. package/Gauge/Gauge.js +0 -2
  11. package/Gauge/GaugeContainer.d.ts +0 -2
  12. package/Gauge/GaugeContainer.js +0 -2
  13. package/Gauge/GaugeProvider.js +3 -0
  14. package/Gauge/GaugeValueText.js +1 -1
  15. package/LineChart/LineChart.js +0 -2
  16. package/PieChart/PieChart.js +0 -2
  17. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -2
  18. package/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -2
  19. package/ScatterChart/ScatterChart.js +0 -3
  20. package/SparkLineChart/SparkLineChart.js +0 -2
  21. package/context/CartesianContextProvider.d.ts +0 -8
  22. package/context/CartesianContextProvider.js +4 -89
  23. package/context/DrawingProvider.d.ts +2 -11
  24. package/context/DrawingProvider.js +10 -35
  25. package/context/HighlightProvider.js +3 -0
  26. package/context/InteractionProvider.js +3 -0
  27. package/context/SeriesContextProvider.js +3 -0
  28. package/context/index.d.ts +0 -2
  29. package/context/index.js +1 -15
  30. package/esm/BarChart/BarChart.js +0 -2
  31. package/esm/ChartsGrid/ChartsGrid.js +2 -2
  32. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  33. package/esm/ChartsTooltip/utils.js +2 -2
  34. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  35. package/esm/ChartsXAxis/ChartsXAxis.js +1 -1
  36. package/esm/ChartsYAxis/ChartsYAxis.js +1 -1
  37. package/esm/Gauge/Gauge.js +0 -2
  38. package/esm/Gauge/GaugeContainer.js +0 -2
  39. package/esm/Gauge/GaugeProvider.js +3 -0
  40. package/esm/Gauge/GaugeValueText.js +1 -1
  41. package/esm/LineChart/LineChart.js +0 -2
  42. package/esm/PieChart/PieChart.js +0 -2
  43. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -2
  44. package/esm/ScatterChart/ScatterChart.js +0 -3
  45. package/esm/SparkLineChart/SparkLineChart.js +0 -2
  46. package/esm/context/CartesianContextProvider.js +3 -88
  47. package/esm/context/DrawingProvider.js +10 -36
  48. package/esm/context/HighlightProvider.js +3 -0
  49. package/esm/context/InteractionProvider.js +3 -0
  50. package/esm/context/SeriesContextProvider.js +3 -0
  51. package/esm/context/index.js +1 -2
  52. package/esm/hooks/useAxisEvents.js +2 -2
  53. package/hooks/useAxisEvents.js +1 -1
  54. package/hooks/useTicks.d.ts +1 -1
  55. package/index.js +1 -1
  56. package/modern/BarChart/BarChart.js +0 -2
  57. package/modern/ChartsGrid/ChartsGrid.js +2 -2
  58. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  59. package/modern/ChartsTooltip/utils.js +2 -2
  60. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  61. package/modern/ChartsXAxis/ChartsXAxis.js +1 -1
  62. package/modern/ChartsYAxis/ChartsYAxis.js +1 -1
  63. package/modern/Gauge/Gauge.js +0 -2
  64. package/modern/Gauge/GaugeContainer.js +0 -2
  65. package/modern/Gauge/GaugeProvider.js +3 -0
  66. package/modern/Gauge/GaugeValueText.js +1 -1
  67. package/modern/LineChart/LineChart.js +0 -2
  68. package/modern/PieChart/PieChart.js +0 -2
  69. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -2
  70. package/modern/ScatterChart/ScatterChart.js +0 -3
  71. package/modern/SparkLineChart/SparkLineChart.js +0 -2
  72. package/modern/context/CartesianContextProvider.js +3 -88
  73. package/modern/context/DrawingProvider.js +10 -36
  74. package/modern/context/HighlightProvider.js +3 -0
  75. package/modern/context/InteractionProvider.js +3 -0
  76. package/modern/context/SeriesContextProvider.js +3 -0
  77. package/modern/context/index.js +1 -2
  78. package/modern/hooks/useAxisEvents.js +2 -2
  79. package/modern/index.js +1 -1
  80. package/package.json +1 -1
  81. package/legacy/BarChart/BarChart.js +0 -440
  82. package/legacy/BarChart/BarElement.js +0 -119
  83. package/legacy/BarChart/BarPlot.js +0 -232
  84. package/legacy/BarChart/extremums.js +0 -45
  85. package/legacy/BarChart/formatter.js +0 -78
  86. package/legacy/BarChart/index.js +0 -3
  87. package/legacy/BarChart/legend.js +0 -15
  88. package/legacy/ChartContainer/ChartContainer.js +0 -189
  89. package/legacy/ChartContainer/index.js +0 -1
  90. package/legacy/ChartsAxis/ChartsAxis.js +0 -215
  91. package/legacy/ChartsAxis/axisClasses.js +0 -5
  92. package/legacy/ChartsAxis/index.js +0 -2
  93. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +0 -105
  94. package/legacy/ChartsAxisHighlight/index.js +0 -1
  95. package/legacy/ChartsClipPath/ChartsClipPath.js +0 -48
  96. package/legacy/ChartsClipPath/index.js +0 -1
  97. package/legacy/ChartsGrid/ChartsGrid.js +0 -119
  98. package/legacy/ChartsGrid/chartsGridClasses.js +0 -6
  99. package/legacy/ChartsGrid/index.js +0 -2
  100. package/legacy/ChartsLegend/ChartsLegend.js +0 -100
  101. package/legacy/ChartsLegend/DefaultChartsLegend.js +0 -302
  102. package/legacy/ChartsLegend/chartsLegendClasses.js +0 -5
  103. package/legacy/ChartsLegend/index.js +0 -4
  104. package/legacy/ChartsLegend/utils.js +0 -15
  105. package/legacy/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +0 -75
  106. package/legacy/ChartsOnAxisClickHandler/index.js +0 -1
  107. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +0 -72
  108. package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +0 -105
  109. package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +0 -105
  110. package/legacy/ChartsReferenceLine/chartsReferenceLineClasses.js +0 -6
  111. package/legacy/ChartsReferenceLine/common.js +0 -19
  112. package/legacy/ChartsReferenceLine/index.js +0 -2
  113. package/legacy/ChartsSurface.js +0 -78
  114. package/legacy/ChartsText/ChartsText.js +0 -95
  115. package/legacy/ChartsText/index.js +0 -1
  116. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +0 -96
  117. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +0 -53
  118. package/legacy/ChartsTooltip/ChartsTooltip.js +0 -148
  119. package/legacy/ChartsTooltip/ChartsTooltipTable.js +0 -80
  120. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -118
  121. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -78
  122. package/legacy/ChartsTooltip/chartsTooltipClasses.js +0 -5
  123. package/legacy/ChartsTooltip/index.js +0 -6
  124. package/legacy/ChartsTooltip/utils.js +0 -103
  125. package/legacy/ChartsVoronoiHandler/ChartsVoronoiHandler.js +0 -206
  126. package/legacy/ChartsVoronoiHandler/index.js +0 -1
  127. package/legacy/ChartsXAxis/ChartsXAxis.js +0 -339
  128. package/legacy/ChartsXAxis/index.js +0 -1
  129. package/legacy/ChartsYAxis/ChartsYAxis.js +0 -267
  130. package/legacy/ChartsYAxis/index.js +0 -1
  131. package/legacy/Gauge/Gauge.js +0 -146
  132. package/legacy/Gauge/GaugeContainer.js +0 -215
  133. package/legacy/Gauge/GaugeProvider.js +0 -87
  134. package/legacy/Gauge/GaugeReferenceArc.js +0 -37
  135. package/legacy/Gauge/GaugeValueArc.js +0 -44
  136. package/legacy/Gauge/GaugeValueText.js +0 -66
  137. package/legacy/Gauge/gaugeClasses.js +0 -7
  138. package/legacy/Gauge/index.js +0 -7
  139. package/legacy/Gauge/utils.js +0 -84
  140. package/legacy/LineChart/AnimatedArea.js +0 -102
  141. package/legacy/LineChart/AnimatedLine.js +0 -104
  142. package/legacy/LineChart/AreaElement.js +0 -112
  143. package/legacy/LineChart/AreaPlot.js +0 -149
  144. package/legacy/LineChart/LineChart.js +0 -452
  145. package/legacy/LineChart/LineElement.js +0 -112
  146. package/legacy/LineChart/LineHighlightElement.js +0 -79
  147. package/legacy/LineChart/LineHighlightPlot.js +0 -97
  148. package/legacy/LineChart/LinePlot.js +0 -144
  149. package/legacy/LineChart/MarkElement.js +0 -153
  150. package/legacy/LineChart/MarkPlot.js +0 -178
  151. package/legacy/LineChart/extremums.js +0 -54
  152. package/legacy/LineChart/formatter.js +0 -82
  153. package/legacy/LineChart/index.js +0 -11
  154. package/legacy/LineChart/legend.js +0 -15
  155. package/legacy/PieChart/PieArc.js +0 -103
  156. package/legacy/PieChart/PieArcLabel.js +0 -112
  157. package/legacy/PieChart/PieArcLabelPlot.js +0 -193
  158. package/legacy/PieChart/PieArcPlot.js +0 -180
  159. package/legacy/PieChart/PieChart.js +0 -404
  160. package/legacy/PieChart/PiePlot.js +0 -137
  161. package/legacy/PieChart/dataTransform/transition.js +0 -149
  162. package/legacy/PieChart/dataTransform/useTransformData.js +0 -63
  163. package/legacy/PieChart/formatter.js +0 -55
  164. package/legacy/PieChart/index.js +0 -6
  165. package/legacy/PieChart/legend.js +0 -16
  166. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -185
  167. package/legacy/ResponsiveChartContainer/index.js +0 -1
  168. package/legacy/ResponsiveChartContainer/useChartContainerDimensions.js +0 -73
  169. package/legacy/ScatterChart/Scatter.js +0 -110
  170. package/legacy/ScatterChart/ScatterChart.js +0 -395
  171. package/legacy/ScatterChart/ScatterPlot.js +0 -80
  172. package/legacy/ScatterChart/extremums.js +0 -39
  173. package/legacy/ScatterChart/formatter.js +0 -12
  174. package/legacy/ScatterChart/index.js +0 -3
  175. package/legacy/ScatterChart/legend.js +0 -15
  176. package/legacy/SparkLineChart/SparkLineChart.js +0 -266
  177. package/legacy/SparkLineChart/index.js +0 -1
  178. package/legacy/colorPalettes/colorPalettes.js +0 -15
  179. package/legacy/colorPalettes/index.js +0 -1
  180. package/legacy/constants.js +0 -8
  181. package/legacy/context/CartesianContextProvider.js +0 -327
  182. package/legacy/context/DrawingProvider.js +0 -74
  183. package/legacy/context/HighlightProvider.js +0 -56
  184. package/legacy/context/InteractionProvider.js +0 -81
  185. package/legacy/context/SeriesContextProvider.js +0 -74
  186. package/legacy/context/index.js +0 -2
  187. package/legacy/hooks/index.js +0 -2
  188. package/legacy/hooks/useAxisEvents.js +0 -120
  189. package/legacy/hooks/useChartDimensions.js +0 -18
  190. package/legacy/hooks/useDrawingArea.js +0 -21
  191. package/legacy/hooks/useInteractionItemProps.js +0 -71
  192. package/legacy/hooks/useMounted.js +0 -21
  193. package/legacy/hooks/useReducedMotion.js +0 -27
  194. package/legacy/hooks/useScale.js +0 -33
  195. package/legacy/hooks/useTicks.js +0 -65
  196. package/legacy/index.js +0 -33
  197. package/legacy/internals/components/AxisSharedComponents.js +0 -25
  198. package/legacy/internals/defaultizeColor.js +0 -17
  199. package/legacy/internals/defaultizeValueFormatter.js +0 -12
  200. package/legacy/internals/domUtils.js +0 -121
  201. package/legacy/internals/geometry.js +0 -37
  202. package/legacy/internals/getCurve.js +0 -39
  203. package/legacy/internals/getScale.js +0 -17
  204. package/legacy/internals/getWordsByLines.js +0 -15
  205. package/legacy/internals/isBandScale.js +0 -3
  206. package/legacy/internals/stackSeries.js +0 -92
  207. package/legacy/internals/useAnimatedPath.js +0 -32
  208. package/legacy/internals/utils.js +0 -52
  209. package/legacy/models/axis.js +0 -6
  210. package/legacy/models/helpers.js +0 -1
  211. package/legacy/models/index.js +0 -4
  212. package/legacy/models/layout.js +0 -1
  213. package/legacy/models/seriesType/bar.js +0 -1
  214. package/legacy/models/seriesType/common.js +0 -1
  215. package/legacy/models/seriesType/config.js +0 -1
  216. package/legacy/models/seriesType/index.js +0 -5
  217. package/legacy/models/seriesType/line.js +0 -1
  218. package/legacy/models/seriesType/pie.js +0 -1
  219. package/legacy/models/seriesType/scatter.js +0 -1
  220. package/legacy/models/stacking.js +0 -1
  221. package/legacy/themeAugmentation/index.js +0 -3
@@ -1,6 +0,0 @@
1
- import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
- import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
- export function getReferenceLineUtilityClass(slot) {
4
- return generateUtilityClass('MuiChartsReferenceLine', slot);
5
- }
6
- export var referenceLineClasses = generateUtilityClasses('MuiChartsReferenceLine', ['root', 'vertical', 'horizontal', 'line', 'label']);
@@ -1,19 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
3
- import { styled } from '@mui/material/styles';
4
- import { referenceLineClasses } from './chartsReferenceLineClasses';
5
- export var ReferenceLineRoot = styled('g')(function (_ref) {
6
- var theme = _ref.theme;
7
- return _defineProperty(_defineProperty({}, "& .".concat(referenceLineClasses.line), {
8
- fill: 'none',
9
- stroke: (theme.vars || theme).palette.text.primary,
10
- shapeRendering: 'crispEdges',
11
- strokeWidth: 1,
12
- pointerEvents: 'none'
13
- }), "& .".concat(referenceLineClasses.label), _extends({
14
- fill: (theme.vars || theme).palette.text.primary,
15
- stroke: 'none',
16
- pointerEvents: 'none',
17
- fontSize: 12
18
- }, theme.typography.body1));
19
- });
@@ -1,2 +0,0 @@
1
- export * from './ChartsReferenceLine';
2
- export * from './chartsReferenceLineClasses';
@@ -1,78 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className", "title", "desc"];
4
- import { styled } from '@mui/material/styles';
5
- import PropTypes from 'prop-types';
6
- import * as React from 'react';
7
- import { useAxisEvents } from './hooks/useAxisEvents';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { jsxs as _jsxs } from "react/jsx-runtime";
10
- var ChartChartsSurfaceStyles = styled('svg', {
11
- name: 'MuiChartsSurface',
12
- slot: 'Root'
13
- })(function () {
14
- return {};
15
- });
16
- var ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(props, ref) {
17
- var children = props.children,
18
- width = props.width,
19
- height = props.height,
20
- viewBox = props.viewBox,
21
- _props$disableAxisLis = props.disableAxisListener,
22
- disableAxisListener = _props$disableAxisLis === void 0 ? false : _props$disableAxisLis,
23
- className = props.className,
24
- title = props.title,
25
- desc = props.desc,
26
- other = _objectWithoutProperties(props, _excluded);
27
- var svgView = _extends({
28
- width: width,
29
- height: height,
30
- x: 0,
31
- y: 0
32
- }, viewBox);
33
- useAxisEvents(disableAxisListener);
34
- return /*#__PURE__*/_jsxs(ChartChartsSurfaceStyles, _extends({
35
- width: width,
36
- height: height,
37
- viewBox: "".concat(svgView.x, " ").concat(svgView.y, " ").concat(svgView.width, " ").concat(svgView.height),
38
- ref: ref
39
- }, other, {
40
- children: [/*#__PURE__*/_jsx("title", {
41
- children: title
42
- }), /*#__PURE__*/_jsx("desc", {
43
- children: desc
44
- }), children]
45
- }));
46
- });
47
- process.env.NODE_ENV !== "production" ? ChartsSurface.propTypes = {
48
- // ----------------------------- Warning --------------------------------
49
- // | These PropTypes are generated from the TypeScript type definitions |
50
- // | To update them edit the TypeScript types and run "yarn proptypes" |
51
- // ----------------------------------------------------------------------
52
- children: PropTypes.node,
53
- className: PropTypes.string,
54
- desc: PropTypes.string,
55
- /**
56
- * If `true`, the charts will not listen to the mouse move event.
57
- * It might break interactive features, but will improve performance.
58
- * @default false
59
- */
60
- disableAxisListener: PropTypes.bool,
61
- /**
62
- * The height of the chart in px.
63
- */
64
- height: PropTypes.number.isRequired,
65
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
66
- title: PropTypes.string,
67
- viewBox: PropTypes.shape({
68
- height: PropTypes.number,
69
- width: PropTypes.number,
70
- x: PropTypes.number,
71
- y: PropTypes.number
72
- }),
73
- /**
74
- * The width of the chart in px.
75
- */
76
- width: PropTypes.number.isRequired
77
- } : void 0;
78
- export { ChartsSurface };
@@ -1,95 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["x", "y", "style", "text", "ownerState"],
4
- _excluded2 = ["angle", "textAnchor", "dominantBaseline"];
5
- import * as React from 'react';
6
- import PropTypes from 'prop-types';
7
- import { getWordsByLines } from '../internals/getWordsByLines';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- /**
10
- * Helper component to manage multiline text in SVG
11
- */
12
- function ChartsText(props) {
13
- var x = props.x,
14
- y = props.y,
15
- styleProps = props.style,
16
- text = props.text,
17
- ownerState = props.ownerState,
18
- textProps = _objectWithoutProperties(props, _excluded);
19
- var _ref = styleProps != null ? styleProps : {},
20
- angle = _ref.angle,
21
- textAnchor = _ref.textAnchor,
22
- dominantBaseline = _ref.dominantBaseline,
23
- style = _objectWithoutProperties(_ref, _excluded2);
24
- var wordsByLines = React.useMemo(function () {
25
- return getWordsByLines({
26
- style: style,
27
- needsComputation: text.includes('\n'),
28
- text: text
29
- });
30
- }, [style, text]);
31
- var startDy;
32
- switch (dominantBaseline) {
33
- case 'hanging':
34
- startDy = 0;
35
- break;
36
- case 'central':
37
- startDy = (wordsByLines.length - 1) / 2 * -wordsByLines[0].height;
38
- break;
39
- default:
40
- startDy = (wordsByLines.length - 1) * -wordsByLines[0].height;
41
- break;
42
- }
43
- var transforms = [];
44
- // if (scaleToFit) {
45
- // const lineWidth = wordsByLines[0].width;
46
- // transforms.push(`scale(${(isNumber(width as number) ? (width as number) / lineWidth : 1) / lineWidth})`);
47
- // }
48
- if (angle) {
49
- transforms.push("rotate(".concat(angle, ", ").concat(x, ", ").concat(y, ")"));
50
- }
51
- if (transforms.length) {
52
- textProps.transform = transforms.join(' ');
53
- }
54
- return /*#__PURE__*/_jsx("text", _extends({}, textProps, {
55
- x: x,
56
- y: y,
57
- textAnchor: textAnchor,
58
- dominantBaseline: dominantBaseline,
59
- style: style,
60
- children: wordsByLines.map(function (line, index) {
61
- return /*#__PURE__*/_jsx("tspan", {
62
- x: x,
63
- dy: "".concat(index === 0 ? startDy : wordsByLines[0].height, "px"),
64
- dominantBaseline: dominantBaseline // Propagated to fix Safari issue: https://github.com/mui/mui-x/issues/10808
65
- ,
66
- children: line.text
67
- }, index);
68
- })
69
- }));
70
- }
71
- process.env.NODE_ENV !== "production" ? ChartsText.propTypes = {
72
- // ----------------------------- Warning --------------------------------
73
- // | These PropTypes are generated from the TypeScript type definitions |
74
- // | To update them edit the TypeScript types and run "yarn proptypes" |
75
- // ----------------------------------------------------------------------
76
- /**
77
- * Height of a text line (in `em`).
78
- */
79
- lineHeight: PropTypes.number,
80
- /**
81
- * If `true`, the line width is computed.
82
- * @default false
83
- */
84
- needsComputation: PropTypes.bool,
85
- ownerState: PropTypes.any,
86
- /**
87
- * Style applied to text elements.
88
- */
89
- style: PropTypes.object,
90
- /**
91
- * Text displayed.
92
- */
93
- text: PropTypes.string.isRequired
94
- } : void 0;
95
- export { ChartsText };
@@ -1 +0,0 @@
1
- export { ChartsText } from './ChartsText';
@@ -1,96 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import PropTypes from 'prop-types';
4
- import { useSlotProps } from '@mui/base/utils';
5
- import { SeriesContext } from '../context/SeriesContextProvider';
6
- import { CartesianContext } from '../context/CartesianContextProvider';
7
- import { DefaultChartsAxisTooltipContent } from './DefaultChartsAxisTooltipContent';
8
- import { isCartesianSeriesType } from './utils';
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- function ChartsAxisTooltipContent(props) {
11
- var content = props.content,
12
- contentProps = props.contentProps,
13
- axisData = props.axisData,
14
- sx = props.sx,
15
- classes = props.classes;
16
- var isXaxis = (axisData.x && axisData.x.index) !== undefined;
17
- var dataIndex = isXaxis ? axisData.x && axisData.x.index : axisData.y && axisData.y.index;
18
- var axisValue = isXaxis ? axisData.x && axisData.x.value : axisData.y && axisData.y.value;
19
- var _React$useContext = React.useContext(CartesianContext),
20
- xAxisIds = _React$useContext.xAxisIds,
21
- xAxis = _React$useContext.xAxis,
22
- yAxisIds = _React$useContext.yAxisIds,
23
- yAxis = _React$useContext.yAxis;
24
- var series = React.useContext(SeriesContext);
25
- var USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
26
- var relevantSeries = React.useMemo(function () {
27
- var rep = [];
28
- Object.keys(series).filter(isCartesianSeriesType).forEach(function (seriesType) {
29
- series[seriesType].seriesOrder.forEach(function (seriesId) {
30
- var item = series[seriesType].series[seriesId];
31
- var axisKey = isXaxis ? item.xAxisKey : item.yAxisKey;
32
- if (axisKey === undefined || axisKey === USED_AXIS_ID) {
33
- rep.push(series[seriesType].series[seriesId]);
34
- }
35
- });
36
- });
37
- return rep;
38
- }, [USED_AXIS_ID, isXaxis, series]);
39
- var relevantAxis = React.useMemo(function () {
40
- return isXaxis ? xAxis[USED_AXIS_ID] : yAxis[USED_AXIS_ID];
41
- }, [USED_AXIS_ID, isXaxis, xAxis, yAxis]);
42
- var Content = content != null ? content : DefaultChartsAxisTooltipContent;
43
- var chartTooltipContentProps = useSlotProps({
44
- elementType: Content,
45
- externalSlotProps: contentProps,
46
- additionalProps: {
47
- axisData: axisData,
48
- series: relevantSeries,
49
- axis: relevantAxis,
50
- dataIndex: dataIndex,
51
- axisValue: axisValue,
52
- sx: sx,
53
- classes: classes
54
- },
55
- ownerState: {}
56
- });
57
- return /*#__PURE__*/_jsx(Content, _extends({}, chartTooltipContentProps));
58
- }
59
- process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
60
- // ----------------------------- Warning --------------------------------
61
- // | These PropTypes are generated from the TypeScript type definitions |
62
- // | To update them edit the TypeScript types and run "yarn proptypes" |
63
- // ----------------------------------------------------------------------
64
- axisData: PropTypes.shape({
65
- x: PropTypes.shape({
66
- index: PropTypes.number,
67
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
68
- }),
69
- y: PropTypes.shape({
70
- index: PropTypes.number,
71
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
72
- })
73
- }).isRequired,
74
- classes: PropTypes.object.isRequired,
75
- content: PropTypes.elementType,
76
- contentProps: PropTypes.shape({
77
- axis: PropTypes.object,
78
- axisData: PropTypes.shape({
79
- x: PropTypes.shape({
80
- index: PropTypes.number,
81
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
82
- }),
83
- y: PropTypes.shape({
84
- index: PropTypes.number,
85
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
86
- })
87
- }),
88
- axisValue: PropTypes.any,
89
- classes: PropTypes.object,
90
- dataIndex: PropTypes.number,
91
- series: PropTypes.arrayOf(PropTypes.object),
92
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
93
- }),
94
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
95
- } : void 0;
96
- export { ChartsAxisTooltipContent };
@@ -1,53 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import PropTypes from 'prop-types';
4
- import { useSlotProps } from '@mui/base/utils';
5
- import { SeriesContext } from '../context/SeriesContextProvider';
6
- import { DefaultChartsItemTooltipContent } from './DefaultChartsItemTooltipContent';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- function ChartsItemTooltipContent(props) {
9
- var content = props.content,
10
- itemData = props.itemData,
11
- sx = props.sx,
12
- classes = props.classes,
13
- contentProps = props.contentProps;
14
- var series = React.useContext(SeriesContext)[itemData.type].series[itemData.seriesId];
15
- var Content = content != null ? content : DefaultChartsItemTooltipContent;
16
- var chartTooltipContentProps = useSlotProps({
17
- elementType: Content,
18
- externalSlotProps: contentProps,
19
- additionalProps: {
20
- itemData: itemData,
21
- series: series,
22
- sx: sx,
23
- classes: classes
24
- },
25
- ownerState: {}
26
- });
27
- return /*#__PURE__*/_jsx(Content, _extends({}, chartTooltipContentProps));
28
- }
29
- process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
30
- // ----------------------------- Warning --------------------------------
31
- // | These PropTypes are generated from the TypeScript type definitions |
32
- // | To update them edit the TypeScript types and run "yarn proptypes" |
33
- // ----------------------------------------------------------------------
34
- classes: PropTypes.object.isRequired,
35
- content: PropTypes.elementType,
36
- contentProps: PropTypes.shape({
37
- classes: PropTypes.object,
38
- itemData: PropTypes.shape({
39
- dataIndex: PropTypes.number,
40
- seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
41
- type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
42
- }),
43
- series: PropTypes.object,
44
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
45
- }),
46
- itemData: PropTypes.shape({
47
- dataIndex: PropTypes.number,
48
- seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
49
- type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
50
- }).isRequired,
51
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
52
- } : void 0;
53
- export { ChartsItemTooltipContent };
@@ -1,148 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import PropTypes from 'prop-types';
4
- import composeClasses from '@mui/utils/composeClasses';
5
- import { styled, useThemeProps } from '@mui/material/styles';
6
- import { Popper } from '@mui/base/Popper';
7
- import { NoSsr } from '@mui/base/NoSsr';
8
- import { useSlotProps } from '@mui/base/utils';
9
- import { InteractionContext } from '../context/InteractionProvider';
10
- import { generateVirtualElement, useMouseTracker, getTooltipHasData } from './utils';
11
- import { ChartsItemTooltipContent } from './ChartsItemTooltipContent';
12
- import { ChartsAxisTooltipContent } from './ChartsAxisTooltipContent';
13
- import { getChartsTooltipUtilityClass } from './chartsTooltipClasses';
14
- import { jsx as _jsx } from "react/jsx-runtime";
15
- var useUtilityClasses = function useUtilityClasses(ownerState) {
16
- var classes = ownerState.classes;
17
- var slots = {
18
- root: ['root'],
19
- table: ['table'],
20
- row: ['row'],
21
- cell: ['cell'],
22
- mark: ['mark'],
23
- markCell: ['markCell'],
24
- labelCell: ['labelCell'],
25
- valueCell: ['valueCell']
26
- };
27
- return composeClasses(slots, getChartsTooltipUtilityClass, classes);
28
- };
29
- var ChartsTooltipRoot = styled(Popper, {
30
- name: 'MuiChartsTooltip',
31
- slot: 'Root',
32
- overridesResolver: function overridesResolver(_, styles) {
33
- return styles.root;
34
- }
35
- })(function (_ref) {
36
- var theme = _ref.theme;
37
- return {
38
- pointerEvents: 'none',
39
- zIndex: theme.zIndex.modal
40
- };
41
- });
42
-
43
- /**
44
- * Demos:
45
- *
46
- * - [ChartsTooltip](https://mui.com/x/react-charts/tooltip/)
47
- *
48
- * API:
49
- *
50
- * - [ChartsTooltip API](https://mui.com/x/api/charts/charts-tool-tip/)
51
- */
52
- function ChartsTooltip(props) {
53
- var _slots$popper, _slots$itemContent, _slots$axisContent;
54
- var themeProps = useThemeProps({
55
- props: props,
56
- name: 'MuiChartsTooltip'
57
- });
58
- var _themeProps$trigger = themeProps.trigger,
59
- trigger = _themeProps$trigger === void 0 ? 'axis' : _themeProps$trigger,
60
- itemContent = themeProps.itemContent,
61
- axisContent = themeProps.axisContent,
62
- slots = themeProps.slots,
63
- slotProps = themeProps.slotProps;
64
- var mousePosition = useMouseTracker();
65
- var _React$useContext = React.useContext(InteractionContext),
66
- item = _React$useContext.item,
67
- axis = _React$useContext.axis;
68
- var displayedData = trigger === 'item' ? item : axis;
69
- var tooltipHasData = getTooltipHasData(trigger, displayedData);
70
- var popperOpen = mousePosition !== null && tooltipHasData;
71
- var classes = useUtilityClasses({
72
- classes: themeProps.classes
73
- });
74
- var PopperComponent = (_slots$popper = slots == null ? void 0 : slots.popper) != null ? _slots$popper : ChartsTooltipRoot;
75
- var popperProps = useSlotProps({
76
- elementType: PopperComponent,
77
- externalSlotProps: slotProps == null ? void 0 : slotProps.popper,
78
- additionalProps: {
79
- open: popperOpen,
80
- placement: 'right-start',
81
- anchorEl: generateVirtualElement(mousePosition)
82
- },
83
- ownerState: {}
84
- });
85
- if (trigger === 'none') {
86
- return null;
87
- }
88
- return /*#__PURE__*/_jsx(NoSsr, {
89
- children: popperOpen && /*#__PURE__*/_jsx(PopperComponent, _extends({}, popperProps, {
90
- children: trigger === 'item' ? /*#__PURE__*/_jsx(ChartsItemTooltipContent, {
91
- itemData: displayedData,
92
- content: (_slots$itemContent = slots == null ? void 0 : slots.itemContent) != null ? _slots$itemContent : itemContent,
93
- contentProps: slotProps == null ? void 0 : slotProps.itemContent,
94
- sx: {
95
- mx: 2
96
- },
97
- classes: classes
98
- }) : /*#__PURE__*/_jsx(ChartsAxisTooltipContent, {
99
- axisData: displayedData,
100
- content: (_slots$axisContent = slots == null ? void 0 : slots.axisContent) != null ? _slots$axisContent : axisContent,
101
- contentProps: slotProps == null ? void 0 : slotProps.axisContent,
102
- sx: {
103
- mx: 2
104
- },
105
- classes: classes
106
- })
107
- }))
108
- });
109
- }
110
- process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
111
- // ----------------------------- Warning --------------------------------
112
- // | These PropTypes are generated from the TypeScript type definitions |
113
- // | To update them edit the TypeScript types and run "yarn proptypes" |
114
- // ----------------------------------------------------------------------
115
- /**
116
- * Component to override the tooltip content when triger is set to 'axis'.
117
- * @deprecated Use slots.axisContent instead
118
- */
119
- axisContent: PropTypes.elementType,
120
- /**
121
- * Override or extend the styles applied to the component.
122
- */
123
- classes: PropTypes.object,
124
- /**
125
- * Component to override the tooltip content when triger is set to 'item'.
126
- * @deprecated Use slots.itemContent instead
127
- */
128
- itemContent: PropTypes.elementType,
129
- /**
130
- * The props used for each component slot.
131
- * @default {}
132
- */
133
- slotProps: PropTypes.object,
134
- /**
135
- * Overridable component slots.
136
- * @default {}
137
- */
138
- slots: PropTypes.object,
139
- /**
140
- * Select the kind of tooltip to display
141
- * - 'item': Shows data about the item below the mouse.
142
- * - 'axis': Shows values associated with the hovered x value
143
- * - 'none': Does not display tooltip
144
- * @default 'item'
145
- */
146
- trigger: PropTypes.oneOf(['axis', 'item', 'none'])
147
- } : void 0;
148
- export { ChartsTooltip };
@@ -1,80 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import Box from '@mui/system/Box';
3
- import { styled } from '@mui/material/styles';
4
- import { chartsTooltipClasses } from './chartsTooltipClasses';
5
- export var ChartsTooltipPaper = styled('div', {
6
- name: 'MuiChartsTooltip',
7
- slot: 'Container'
8
- })(function (_ref) {
9
- var theme = _ref.theme;
10
- return {
11
- backgroundColor: (theme.vars || theme).palette.background.paper,
12
- color: (theme.vars || theme).palette.text.primary,
13
- transition: theme.transitions.create('box-shadow'),
14
- border: "1px solid ".concat((theme.vars || theme).palette.divider),
15
- borderRadius: theme.shape.borderRadius
16
- };
17
- });
18
- export var ChartsTooltipTable = styled('table', {
19
- name: 'MuiChartsTooltip',
20
- slot: 'Table'
21
- })(function (_ref2) {
22
- var theme = _ref2.theme;
23
- return {
24
- borderSpacing: 0,
25
- '& thead td': {
26
- borderBottom: "solid ".concat((theme.vars || theme).palette.divider, " 1px")
27
- }
28
- };
29
- });
30
- export var ChartsTooltipRow = styled('tr', {
31
- name: 'MuiChartsTooltip',
32
- slot: 'Row'
33
- })(function (_ref3) {
34
- var theme = _ref3.theme;
35
- return {
36
- 'tr:first-of-type& td': {
37
- paddingTop: theme.spacing(1)
38
- },
39
- 'tr:last-of-type& td': {
40
- paddingBottom: theme.spacing(1)
41
- }
42
- };
43
- });
44
- export var ChartsTooltipCell = styled('td', {
45
- name: 'MuiChartsTooltip',
46
- slot: 'Cell'
47
- })(function (_ref4) {
48
- var theme = _ref4.theme;
49
- return _defineProperty(_defineProperty(_defineProperty(_defineProperty({
50
- verticalAlign: 'middle',
51
- color: (theme.vars || theme).palette.text.secondary
52
- }, "&.".concat(chartsTooltipClasses.labelCell), {
53
- paddingLeft: theme.spacing(1)
54
- }), "&.".concat(chartsTooltipClasses.valueCell), {
55
- paddingLeft: theme.spacing(4),
56
- color: (theme.vars || theme).palette.text.primary
57
- }), 'td:first-of-type&', {
58
- paddingLeft: theme.spacing(2)
59
- }), 'td:last-of-type&', {
60
- paddingRight: theme.spacing(2)
61
- });
62
- });
63
-
64
- // eslint-disable-next-line material-ui/no-styled-box
65
- export var ChartsTooltipMark = styled(Box, {
66
- name: 'MuiChartsTooltip',
67
- slot: 'Mark'
68
- })(function (_ref6) {
69
- var theme = _ref6.theme,
70
- ownerState = _ref6.ownerState;
71
- return {
72
- width: theme.spacing(1),
73
- height: theme.spacing(1),
74
- borderRadius: '50%',
75
- backgroundColor: ownerState.color,
76
- borderColor: (theme.vars || theme).palette.background.paper,
77
- border: "solid ".concat((theme.vars || theme).palette.background.paper, " ").concat(theme.spacing(0.25)),
78
- boxSizing: 'content-box'
79
- };
80
- });