@mui/x-charts 7.0.0-beta.2 → 7.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/BarChart/BarChart.d.ts +21 -5
  2. package/BarChart/BarChart.js +27 -7
  3. package/CHANGELOG.md +298 -23
  4. package/ChartsGrid/ChartsGrid.d.ts +30 -0
  5. package/ChartsGrid/ChartsGrid.js +128 -0
  6. package/ChartsGrid/chartsGridClasses.d.ts +13 -0
  7. package/ChartsGrid/chartsGridClasses.js +14 -0
  8. package/ChartsGrid/index.d.ts +2 -0
  9. package/ChartsGrid/index.js +27 -0
  10. package/ChartsGrid/package.json +6 -0
  11. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  12. package/ChartsSurface.js +6 -4
  13. package/ChartsTooltip/utils.js +1 -1
  14. package/ChartsVoronoiHandler/ChartsVoronoiHandler.d.ts +0 -1
  15. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +1 -2
  16. package/ChartsXAxis/ChartsXAxis.js +3 -3
  17. package/ChartsYAxis/ChartsYAxis.js +3 -3
  18. package/Gauge/Gauge.d.ts +13 -0
  19. package/Gauge/Gauge.js +154 -0
  20. package/Gauge/GaugeContainer.d.ts +17 -0
  21. package/Gauge/GaugeContainer.js +214 -0
  22. package/Gauge/GaugeProvider.d.ts +117 -0
  23. package/Gauge/GaugeProvider.js +99 -0
  24. package/Gauge/GaugeReferenceArc.d.ts +2 -0
  25. package/Gauge/GaugeReferenceArc.js +44 -0
  26. package/Gauge/GaugeValueArc.d.ts +2 -0
  27. package/Gauge/GaugeValueArc.js +51 -0
  28. package/Gauge/GaugeValueText.d.ts +15 -0
  29. package/Gauge/GaugeValueText.js +77 -0
  30. package/Gauge/gaugeClasses.d.ts +14 -0
  31. package/Gauge/gaugeClasses.js +15 -0
  32. package/Gauge/index.d.ts +7 -0
  33. package/Gauge/index.js +87 -0
  34. package/Gauge/package.json +6 -0
  35. package/Gauge/utils.d.ts +19 -0
  36. package/Gauge/utils.js +75 -0
  37. package/LineChart/LineChart.d.ts +24 -5
  38. package/LineChart/LineChart.js +31 -7
  39. package/PieChart/PieArc.d.ts +4 -4
  40. package/PieChart/PieArc.js +9 -9
  41. package/PieChart/PieArcLabelPlot.js +13 -13
  42. package/PieChart/PieChart.d.ts +22 -0
  43. package/PieChart/PieChart.js +22 -2
  44. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -2
  45. package/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  46. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +2 -0
  47. package/ResponsiveChartContainer/useChartContainerDimensions.js +76 -0
  48. package/ScatterChart/ScatterChart.d.ts +18 -0
  49. package/ScatterChart/ScatterChart.js +25 -3
  50. package/SparkLineChart/SparkLineChart.js +0 -2
  51. package/context/CartesianContextProvider.d.ts +0 -8
  52. package/context/CartesianContextProvider.js +4 -89
  53. package/context/DrawingProvider.d.ts +2 -11
  54. package/context/DrawingProvider.js +10 -35
  55. package/context/HighlightProvider.js +3 -0
  56. package/context/InteractionProvider.js +3 -0
  57. package/context/SeriesContextProvider.js +3 -0
  58. package/context/index.d.ts +0 -2
  59. package/context/index.js +1 -15
  60. package/esm/BarChart/BarChart.js +27 -7
  61. package/esm/ChartsGrid/ChartsGrid.js +121 -0
  62. package/esm/ChartsGrid/chartsGridClasses.js +6 -0
  63. package/esm/ChartsGrid/index.js +2 -0
  64. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  65. package/esm/ChartsSurface.js +6 -4
  66. package/esm/ChartsTooltip/utils.js +2 -2
  67. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  68. package/esm/ChartsXAxis/ChartsXAxis.js +2 -2
  69. package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
  70. package/esm/Gauge/Gauge.js +147 -0
  71. package/esm/Gauge/GaugeContainer.js +209 -0
  72. package/esm/Gauge/GaugeProvider.js +88 -0
  73. package/esm/Gauge/GaugeReferenceArc.js +35 -0
  74. package/esm/Gauge/GaugeValueArc.js +42 -0
  75. package/esm/Gauge/GaugeValueText.js +69 -0
  76. package/esm/Gauge/gaugeClasses.js +7 -0
  77. package/esm/Gauge/index.js +7 -0
  78. package/esm/Gauge/utils.js +68 -0
  79. package/esm/LineChart/LineChart.js +31 -7
  80. package/esm/PieChart/PieArc.js +9 -9
  81. package/esm/PieChart/PieArcLabelPlot.js +13 -13
  82. package/esm/PieChart/PieChart.js +22 -2
  83. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  84. package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  85. package/esm/ScatterChart/ScatterChart.js +25 -3
  86. package/esm/SparkLineChart/SparkLineChart.js +0 -2
  87. package/esm/context/CartesianContextProvider.js +3 -88
  88. package/esm/context/DrawingProvider.js +10 -36
  89. package/esm/context/HighlightProvider.js +3 -0
  90. package/esm/context/InteractionProvider.js +3 -0
  91. package/esm/context/SeriesContextProvider.js +3 -0
  92. package/esm/context/index.js +1 -2
  93. package/esm/hooks/useAxisEvents.js +2 -2
  94. package/esm/hooks/useTicks.js +2 -3
  95. package/esm/index.js +2 -0
  96. package/hooks/useAxisEvents.js +1 -1
  97. package/hooks/useTicks.d.ts +2 -3
  98. package/hooks/useTicks.js +2 -3
  99. package/index.d.ts +2 -0
  100. package/index.js +23 -1
  101. package/modern/BarChart/BarChart.js +27 -7
  102. package/modern/ChartsGrid/ChartsGrid.js +121 -0
  103. package/modern/ChartsGrid/chartsGridClasses.js +6 -0
  104. package/modern/ChartsGrid/index.js +2 -0
  105. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  106. package/modern/ChartsSurface.js +6 -4
  107. package/modern/ChartsTooltip/utils.js +2 -2
  108. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  109. package/modern/ChartsXAxis/ChartsXAxis.js +2 -2
  110. package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
  111. package/modern/Gauge/Gauge.js +147 -0
  112. package/modern/Gauge/GaugeContainer.js +206 -0
  113. package/modern/Gauge/GaugeProvider.js +88 -0
  114. package/modern/Gauge/GaugeReferenceArc.js +35 -0
  115. package/modern/Gauge/GaugeValueArc.js +42 -0
  116. package/modern/Gauge/GaugeValueText.js +69 -0
  117. package/modern/Gauge/gaugeClasses.js +7 -0
  118. package/modern/Gauge/index.js +7 -0
  119. package/modern/Gauge/utils.js +68 -0
  120. package/modern/LineChart/LineChart.js +31 -7
  121. package/modern/PieChart/PieArc.js +9 -9
  122. package/modern/PieChart/PieArcLabelPlot.js +13 -13
  123. package/modern/PieChart/PieChart.js +22 -2
  124. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  125. package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  126. package/modern/ScatterChart/ScatterChart.js +25 -3
  127. package/modern/SparkLineChart/SparkLineChart.js +0 -2
  128. package/modern/context/CartesianContextProvider.js +3 -88
  129. package/modern/context/DrawingProvider.js +10 -36
  130. package/modern/context/HighlightProvider.js +3 -0
  131. package/modern/context/InteractionProvider.js +3 -0
  132. package/modern/context/SeriesContextProvider.js +3 -0
  133. package/modern/context/index.js +1 -2
  134. package/modern/hooks/useAxisEvents.js +2 -2
  135. package/modern/hooks/useTicks.js +2 -3
  136. package/modern/index.js +3 -1
  137. package/package.json +4 -4
  138. package/legacy/BarChart/BarChart.js +0 -418
  139. package/legacy/BarChart/BarElement.js +0 -119
  140. package/legacy/BarChart/BarPlot.js +0 -232
  141. package/legacy/BarChart/extremums.js +0 -45
  142. package/legacy/BarChart/formatter.js +0 -78
  143. package/legacy/BarChart/index.js +0 -3
  144. package/legacy/BarChart/legend.js +0 -15
  145. package/legacy/ChartContainer/ChartContainer.js +0 -189
  146. package/legacy/ChartContainer/index.js +0 -1
  147. package/legacy/ChartsAxis/ChartsAxis.js +0 -215
  148. package/legacy/ChartsAxis/axisClasses.js +0 -5
  149. package/legacy/ChartsAxis/index.js +0 -2
  150. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +0 -105
  151. package/legacy/ChartsAxisHighlight/index.js +0 -1
  152. package/legacy/ChartsClipPath/ChartsClipPath.js +0 -48
  153. package/legacy/ChartsClipPath/index.js +0 -1
  154. package/legacy/ChartsLegend/ChartsLegend.js +0 -100
  155. package/legacy/ChartsLegend/DefaultChartsLegend.js +0 -302
  156. package/legacy/ChartsLegend/chartsLegendClasses.js +0 -5
  157. package/legacy/ChartsLegend/index.js +0 -4
  158. package/legacy/ChartsLegend/utils.js +0 -15
  159. package/legacy/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +0 -75
  160. package/legacy/ChartsOnAxisClickHandler/index.js +0 -1
  161. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +0 -72
  162. package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +0 -105
  163. package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +0 -105
  164. package/legacy/ChartsReferenceLine/chartsReferenceLineClasses.js +0 -6
  165. package/legacy/ChartsReferenceLine/common.js +0 -19
  166. package/legacy/ChartsReferenceLine/index.js +0 -2
  167. package/legacy/ChartsSurface.js +0 -76
  168. package/legacy/ChartsText/ChartsText.js +0 -95
  169. package/legacy/ChartsText/index.js +0 -1
  170. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +0 -96
  171. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +0 -53
  172. package/legacy/ChartsTooltip/ChartsTooltip.js +0 -148
  173. package/legacy/ChartsTooltip/ChartsTooltipTable.js +0 -80
  174. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -118
  175. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -78
  176. package/legacy/ChartsTooltip/chartsTooltipClasses.js +0 -5
  177. package/legacy/ChartsTooltip/index.js +0 -6
  178. package/legacy/ChartsTooltip/utils.js +0 -103
  179. package/legacy/ChartsVoronoiHandler/ChartsVoronoiHandler.js +0 -206
  180. package/legacy/ChartsVoronoiHandler/index.js +0 -1
  181. package/legacy/ChartsXAxis/ChartsXAxis.js +0 -339
  182. package/legacy/ChartsXAxis/index.js +0 -1
  183. package/legacy/ChartsYAxis/ChartsYAxis.js +0 -267
  184. package/legacy/ChartsYAxis/index.js +0 -1
  185. package/legacy/LineChart/AnimatedArea.js +0 -102
  186. package/legacy/LineChart/AnimatedLine.js +0 -104
  187. package/legacy/LineChart/AreaElement.js +0 -112
  188. package/legacy/LineChart/AreaPlot.js +0 -149
  189. package/legacy/LineChart/LineChart.js +0 -426
  190. package/legacy/LineChart/LineElement.js +0 -112
  191. package/legacy/LineChart/LineHighlightElement.js +0 -79
  192. package/legacy/LineChart/LineHighlightPlot.js +0 -97
  193. package/legacy/LineChart/LinePlot.js +0 -144
  194. package/legacy/LineChart/MarkElement.js +0 -153
  195. package/legacy/LineChart/MarkPlot.js +0 -178
  196. package/legacy/LineChart/extremums.js +0 -54
  197. package/legacy/LineChart/formatter.js +0 -82
  198. package/legacy/LineChart/index.js +0 -11
  199. package/legacy/LineChart/legend.js +0 -15
  200. package/legacy/PieChart/PieArc.js +0 -103
  201. package/legacy/PieChart/PieArcLabel.js +0 -112
  202. package/legacy/PieChart/PieArcLabelPlot.js +0 -193
  203. package/legacy/PieChart/PieArcPlot.js +0 -180
  204. package/legacy/PieChart/PieChart.js +0 -382
  205. package/legacy/PieChart/PiePlot.js +0 -137
  206. package/legacy/PieChart/dataTransform/transition.js +0 -149
  207. package/legacy/PieChart/dataTransform/useTransformData.js +0 -63
  208. package/legacy/PieChart/formatter.js +0 -55
  209. package/legacy/PieChart/index.js +0 -6
  210. package/legacy/PieChart/legend.js +0 -16
  211. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -255
  212. package/legacy/ResponsiveChartContainer/index.js +0 -1
  213. package/legacy/ScatterChart/Scatter.js +0 -110
  214. package/legacy/ScatterChart/ScatterChart.js +0 -370
  215. package/legacy/ScatterChart/ScatterPlot.js +0 -80
  216. package/legacy/ScatterChart/extremums.js +0 -39
  217. package/legacy/ScatterChart/formatter.js +0 -12
  218. package/legacy/ScatterChart/index.js +0 -3
  219. package/legacy/ScatterChart/legend.js +0 -15
  220. package/legacy/SparkLineChart/SparkLineChart.js +0 -266
  221. package/legacy/SparkLineChart/index.js +0 -1
  222. package/legacy/colorPalettes/colorPalettes.js +0 -15
  223. package/legacy/colorPalettes/index.js +0 -1
  224. package/legacy/constants.js +0 -8
  225. package/legacy/context/CartesianContextProvider.js +0 -327
  226. package/legacy/context/DrawingProvider.js +0 -74
  227. package/legacy/context/HighlightProvider.js +0 -56
  228. package/legacy/context/InteractionProvider.js +0 -81
  229. package/legacy/context/SeriesContextProvider.js +0 -74
  230. package/legacy/context/index.js +0 -2
  231. package/legacy/hooks/index.js +0 -2
  232. package/legacy/hooks/useAxisEvents.js +0 -120
  233. package/legacy/hooks/useChartDimensions.js +0 -18
  234. package/legacy/hooks/useDrawingArea.js +0 -21
  235. package/legacy/hooks/useInteractionItemProps.js +0 -71
  236. package/legacy/hooks/useMounted.js +0 -21
  237. package/legacy/hooks/useReducedMotion.js +0 -27
  238. package/legacy/hooks/useScale.js +0 -33
  239. package/legacy/hooks/useTicks.js +0 -66
  240. package/legacy/index.js +0 -31
  241. package/legacy/internals/components/AxisSharedComponents.js +0 -25
  242. package/legacy/internals/defaultizeColor.js +0 -17
  243. package/legacy/internals/defaultizeValueFormatter.js +0 -12
  244. package/legacy/internals/domUtils.js +0 -121
  245. package/legacy/internals/geometry.js +0 -37
  246. package/legacy/internals/getCurve.js +0 -39
  247. package/legacy/internals/getScale.js +0 -17
  248. package/legacy/internals/getWordsByLines.js +0 -15
  249. package/legacy/internals/isBandScale.js +0 -3
  250. package/legacy/internals/stackSeries.js +0 -92
  251. package/legacy/internals/useAnimatedPath.js +0 -32
  252. package/legacy/internals/utils.js +0 -52
  253. package/legacy/models/axis.js +0 -6
  254. package/legacy/models/helpers.js +0 -1
  255. package/legacy/models/index.js +0 -4
  256. package/legacy/models/layout.js +0 -1
  257. package/legacy/models/seriesType/bar.js +0 -1
  258. package/legacy/models/seriesType/common.js +0 -1
  259. package/legacy/models/seriesType/config.js +0 -1
  260. package/legacy/models/seriesType/index.js +0 -5
  261. package/legacy/models/seriesType/line.js +0 -1
  262. package/legacy/models/seriesType/pie.js +0 -1
  263. package/legacy/models/seriesType/scatter.js +0 -1
  264. package/legacy/models/stacking.js +0 -1
  265. 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,76 +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"];
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
- other = _objectWithoutProperties(props, _excluded);
25
- var svgView = _extends({
26
- width: width,
27
- height: height,
28
- x: 0,
29
- y: 0
30
- }, viewBox);
31
- useAxisEvents(disableAxisListener);
32
- return /*#__PURE__*/_jsxs(ChartChartsSurfaceStyles, _extends({
33
- width: width,
34
- height: height,
35
- viewBox: "".concat(svgView.x, " ").concat(svgView.y, " ").concat(svgView.width, " ").concat(svgView.height),
36
- ref: ref
37
- }, other, {
38
- children: [/*#__PURE__*/_jsx("title", {
39
- children: props.title
40
- }), /*#__PURE__*/_jsx("desc", {
41
- children: props.desc
42
- }), children]
43
- }));
44
- });
45
- process.env.NODE_ENV !== "production" ? ChartsSurface.propTypes = {
46
- // ----------------------------- Warning --------------------------------
47
- // | These PropTypes are generated from the TypeScript type definitions |
48
- // | To update them edit the TypeScript types and run "yarn proptypes" |
49
- // ----------------------------------------------------------------------
50
- children: PropTypes.node,
51
- className: PropTypes.string,
52
- desc: PropTypes.string,
53
- /**
54
- * If `true`, the charts will not listen to the mouse move event.
55
- * It might break interactive features, but will improve performance.
56
- * @default false
57
- */
58
- disableAxisListener: PropTypes.bool,
59
- /**
60
- * The height of the chart in px.
61
- */
62
- height: PropTypes.number.isRequired,
63
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
64
- title: PropTypes.string,
65
- viewBox: PropTypes.shape({
66
- height: PropTypes.number,
67
- width: PropTypes.number,
68
- x: PropTypes.number,
69
- y: PropTypes.number
70
- }),
71
- /**
72
- * The width of the chart in px.
73
- */
74
- width: PropTypes.number.isRequired
75
- } : void 0;
76
- 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
- });