@mui/x-charts 8.0.0-alpha.3 → 8.0.0-alpha.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 (84) hide show
  1. package/CHANGELOG.md +274 -0
  2. package/ChartsAxis/ChartsAxis.js +0 -4
  3. package/ChartsLabel/ChartsLabel.d.ts +19 -0
  4. package/ChartsLabel/ChartsLabel.js +58 -0
  5. package/ChartsLabel/ChartsLabelGradient.d.ts +40 -0
  6. package/ChartsLabel/ChartsLabelGradient.js +133 -0
  7. package/ChartsLabel/ChartsLabelMark.d.ts +27 -0
  8. package/ChartsLabel/ChartsLabelMark.js +108 -0
  9. package/ChartsLabel/labelClasses.d.ts +9 -0
  10. package/ChartsLabel/labelClasses.js +13 -0
  11. package/ChartsLabel/labelGradientClasses.d.ts +15 -0
  12. package/ChartsLabel/labelGradientClasses.js +17 -0
  13. package/ChartsLabel/labelMarkClasses.d.ts +17 -0
  14. package/ChartsLabel/labelMarkClasses.js +17 -0
  15. package/ChartsLegend/useAxis.js +3 -3
  16. package/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
  17. package/ChartsTooltip/ChartsTooltipTable.js +15 -13
  18. package/ChartsTooltip/chartsTooltipClasses.d.ts +3 -1
  19. package/ChartsTooltip/chartsTooltipClasses.js +3 -2
  20. package/ChartsTooltip/useAxisTooltip.js +2 -3
  21. package/ChartsTooltip/useItemTooltip.js +2 -3
  22. package/PieChart/PiePlot.js +2 -2
  23. package/README.md +1 -1
  24. package/ScatterChart/ScatterPlot.js +2 -2
  25. package/ScatterChart/extremums.js +1 -3
  26. package/ScatterChart/formatter.js +2 -2
  27. package/hooks/useChartId.d.ts +1 -1
  28. package/hooks/useColorScale.js +2 -3
  29. package/hooks/useZAxis.d.ts +6 -0
  30. package/hooks/useZAxis.js +8 -0
  31. package/index.js +1 -1
  32. package/internals/consumeThemeProps.d.ts +54 -0
  33. package/internals/consumeThemeProps.js +79 -0
  34. package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  35. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +6 -6
  36. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +3 -3
  37. package/internals/store/useCharts.js +8 -2
  38. package/modern/ChartsAxis/ChartsAxis.js +0 -4
  39. package/modern/ChartsLabel/ChartsLabel.js +58 -0
  40. package/modern/ChartsLabel/ChartsLabelGradient.js +133 -0
  41. package/modern/ChartsLabel/ChartsLabelMark.js +108 -0
  42. package/modern/ChartsLabel/labelClasses.js +13 -0
  43. package/modern/ChartsLabel/labelGradientClasses.js +17 -0
  44. package/modern/ChartsLabel/labelMarkClasses.js +17 -0
  45. package/modern/ChartsLegend/useAxis.js +3 -3
  46. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
  47. package/modern/ChartsTooltip/ChartsTooltipTable.js +15 -13
  48. package/modern/ChartsTooltip/chartsTooltipClasses.js +3 -2
  49. package/modern/ChartsTooltip/useAxisTooltip.js +2 -3
  50. package/modern/ChartsTooltip/useItemTooltip.js +2 -3
  51. package/modern/PieChart/PiePlot.js +2 -2
  52. package/modern/ScatterChart/ScatterPlot.js +2 -2
  53. package/modern/ScatterChart/extremums.js +1 -3
  54. package/modern/ScatterChart/formatter.js +2 -2
  55. package/modern/hooks/useColorScale.js +2 -3
  56. package/modern/hooks/useZAxis.js +8 -0
  57. package/modern/index.js +1 -1
  58. package/modern/internals/consumeThemeProps.js +79 -0
  59. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  60. package/modern/internals/store/useCharts.js +8 -2
  61. package/node/ChartsAxis/ChartsAxis.js +0 -4
  62. package/node/ChartsLabel/ChartsLabel.js +64 -0
  63. package/node/ChartsLabel/ChartsLabelGradient.js +139 -0
  64. package/node/ChartsLabel/ChartsLabelMark.js +114 -0
  65. package/node/ChartsLabel/labelClasses.js +22 -0
  66. package/node/ChartsLabel/labelGradientClasses.js +26 -0
  67. package/node/ChartsLabel/labelMarkClasses.js +26 -0
  68. package/node/ChartsLegend/useAxis.js +2 -4
  69. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -3
  70. package/node/ChartsTooltip/ChartsTooltipTable.js +15 -13
  71. package/node/ChartsTooltip/chartsTooltipClasses.js +3 -2
  72. package/node/ChartsTooltip/useAxisTooltip.js +2 -4
  73. package/node/ChartsTooltip/useItemTooltip.js +2 -4
  74. package/node/PieChart/PiePlot.js +2 -2
  75. package/node/ScatterChart/ScatterPlot.js +2 -2
  76. package/node/ScatterChart/extremums.js +1 -3
  77. package/node/ScatterChart/formatter.js +2 -2
  78. package/node/hooks/useColorScale.js +2 -4
  79. package/node/hooks/useZAxis.js +15 -0
  80. package/node/index.js +1 -1
  81. package/node/internals/consumeThemeProps.js +87 -0
  82. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  83. package/node/internals/store/useCharts.js +9 -2
  84. package/package.json +4 -3
@@ -0,0 +1,79 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { useTheme, useThemeProps } from '@mui/material/styles';
3
+ import resolveProps from '@mui/utils/resolveProps';
4
+ import * as React from 'react';
5
+ import * as ReactIs from 'react-is';
6
+
7
+ /**
8
+ * A higher order component that consumes and merges the theme `defaultProps` and handles the `classes` and renders the component.
9
+ *
10
+ * This HOC will wrap a single component.
11
+ * If you need to render multiple components, you can manually consume the theme and render them in your component instead of using this HOC.
12
+ *
13
+ * In the example below, `MyComponent` will render the `DefaultComponent` with the `direction` prop set to `'row'` and the className set to `'my-custom-root'`.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * createTheme({
18
+ * components: {
19
+ * MuiMyComponent: {
20
+ * defaultProps: {
21
+ * direction: 'row',
22
+ * },
23
+ * },
24
+ * },
25
+ * })
26
+ *
27
+ * type MyComponentProps = {
28
+ * direction: 'row' | 'column';
29
+ * classes?: Record<'root', string>;
30
+ * };
31
+ *
32
+ * const MyComponent = consumeThemeProps(
33
+ * 'MuiMyComponent',
34
+ * function DefaultComponent(props: MyComponentProps) {
35
+ * return (
36
+ * <div className={props.classes.root}>
37
+ * {props.direction}
38
+ * </div>
39
+ * );
40
+ * }
41
+ * );
42
+ *
43
+ * render(<MyComponent classes={{ root: 'my-custom-root' }} />);
44
+ * ```
45
+ *
46
+ * @param {string} name The mui component name.
47
+ * @param {object} options Options for the HOC.
48
+ * @param {Record<string, any>} options.defaultProps A set of defaults for the component, will be deep merged with the props.
49
+ * @param {Function} options.classesResolver A function that returns the classes for the component. It receives the props, after theme props and defaults have been applied. And the theme object as the second argument.
50
+ * @param InComponent The component to render if the slot is not provided.
51
+ */
52
+ import { jsx as _jsx } from "react/jsx-runtime";
53
+ export const consumeThemeProps = (name, options, InComponent) => {
54
+ function InternalComponent(props, ref) {
55
+ const themedProps = useThemeProps({
56
+ props,
57
+ // eslint-disable-next-line material-ui/mui-name-matches-component-name
58
+ name
59
+ });
60
+ const defaultProps = typeof options.defaultProps === 'function' ? options.defaultProps(themedProps) : options.defaultProps ?? {};
61
+ const outProps = resolveProps(defaultProps, themedProps);
62
+ const theme = useTheme();
63
+ const classes = options.classesResolver?.(outProps, theme);
64
+ if (process.env.NODE_ENV !== 'production') {
65
+ // eslint-disable-next-line react-compiler/react-compiler
66
+ InComponent.displayName = name;
67
+ }
68
+ const OutComponent = ReactIs.isForwardRef(InComponent) ? InComponent :
69
+ /*#__PURE__*/
70
+ // InComponent needs to be a function that accepts `(props, ref)`
71
+ // @ts-expect-error
72
+ React.forwardRef(InComponent);
73
+ return /*#__PURE__*/_jsx(OutComponent, _extends({}, outProps, {
74
+ classes: classes,
75
+ ref: ref
76
+ }));
77
+ }
78
+ return /*#__PURE__*/React.forwardRef(InternalComponent);
79
+ };
@@ -26,7 +26,7 @@ useChartId.getInitialState = ({
26
26
  id
27
27
  }) => ({
28
28
  id: {
29
- chartId: createChartDefaultId(),
29
+ chartId: id,
30
30
  providedChartId: id
31
31
  }
32
32
  });
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import useId from '@mui/utils/useId';
2
3
  import { ChartStore } from "../plugins/utils/ChartStore.js";
3
4
  import { CHART_CORE_PLUGINS } from "../plugins/corePlugins/index.js";
4
5
  export function useChartApiInitialization(inputApiRef) {
@@ -15,7 +16,10 @@ export function useChartApiInitialization(inputApiRef) {
15
16
  let globalId = 0;
16
17
  export function useCharts(inPlugins, props) {
17
18
  const plugins = React.useMemo(() => [...CHART_CORE_PLUGINS, ...inPlugins], [inPlugins]);
18
- const pluginParams = {}; // To generate when plugins use params.
19
+ const defaultChartId = useId();
20
+ const pluginParams = {
21
+ id: defaultChartId
22
+ }; // To generate when plugins use params.
19
23
  const instanceRef = React.useRef({});
20
24
  const instance = instanceRef.current;
21
25
  const publicAPI = useChartApiInitialization(props.apiRef);
@@ -39,7 +43,9 @@ export function useCharts(inPlugins, props) {
39
43
  };
40
44
  plugins.forEach(plugin => {
41
45
  if (plugin.getInitialState) {
42
- Object.assign(initialState, plugin.getInitialState({}));
46
+ Object.assign(initialState, plugin.getInitialState({
47
+ id: defaultChartId
48
+ }));
43
49
  }
44
50
  });
45
51
  storeRef.current = new ChartStore(initialState);
@@ -57,10 +57,6 @@ function ChartsAxis(props) {
57
57
  yAxis,
58
58
  yAxisIds
59
59
  } = (0, _CartesianProvider.useCartesianContext)();
60
-
61
- // TODO: use for plotting line without ticks or any thing
62
- // const drawingArea = React.useContext(DrawingContext);
63
-
64
60
  const leftId = getAxisId(leftAxis === undefined ? yAxisIds[0] : leftAxis, yAxisIds[0]);
65
61
  const bottomId = getAxisId(bottomAxis === undefined ? xAxisIds[0] : bottomAxis, xAxisIds[0]);
66
62
  const topId = getAxisId(topAxis, xAxisIds[0]);
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.ChartsLabel = void 0;
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _styles = require("@mui/material/styles");
15
+ var _clsx = _interopRequireDefault(require("clsx"));
16
+ var _labelClasses = require("./labelClasses");
17
+ var _consumeThemeProps = require("../internals/consumeThemeProps");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const _excluded = ["children", "className", "classes"];
20
+ const Root = (0, _styles.styled)('span', {
21
+ name: 'MuiChartsLabel',
22
+ slot: 'Root',
23
+ overridesResolver: (props, styles) => styles.root
24
+ })(({
25
+ theme
26
+ }) => (0, _extends2.default)({}, theme.typography.caption, {
27
+ color: (theme.vars || theme).palette.text.primary,
28
+ lineHeight: undefined,
29
+ display: 'flex'
30
+ }));
31
+
32
+ /**
33
+ * @ignore - internal component.
34
+ *
35
+ * Generates the label mark for the tooltip and legend.
36
+ */
37
+ const ChartsLabel = exports.ChartsLabel = (0, _consumeThemeProps.consumeThemeProps)('MuiChartsLabel', {
38
+ classesResolver: _labelClasses.useUtilityClasses
39
+ }, function ChartsLabel(props, ref) {
40
+ const {
41
+ children,
42
+ className,
43
+ classes
44
+ } = props,
45
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({
47
+ className: (0, _clsx.default)(classes?.root, className),
48
+ ownerState: props,
49
+ ref: ref
50
+ }, other, {
51
+ children: children
52
+ }));
53
+ });
54
+ process.env.NODE_ENV !== "production" ? ChartsLabel.propTypes = {
55
+ // ----------------------------- Warning --------------------------------
56
+ // | These PropTypes are generated from the TypeScript type definitions |
57
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
58
+ // ----------------------------------------------------------------------
59
+ children: _propTypes.default.node,
60
+ /**
61
+ * Override or extend the styles applied to the component.
62
+ */
63
+ classes: _propTypes.default.object
64
+ } : void 0;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.ChartsLabelGradient = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _styles = require("@mui/material/styles");
15
+ var _clsx = _interopRequireDefault(require("clsx"));
16
+ var _labelGradientClasses = require("./labelGradientClasses");
17
+ var _consumeThemeProps = require("../internals/consumeThemeProps");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const _excluded = ["gradientId", "direction", "classes", "className"];
20
+ const getRotation = (direction, reverse, rotate) => {
21
+ if (!rotate && reverse) {
22
+ return direction === 'column' ? 90 : 180;
23
+ }
24
+ if (rotate && !reverse) {
25
+ return direction === 'column' ? 0 : 90;
26
+ }
27
+ if (rotate && reverse) {
28
+ return direction === 'column' ? 180 : -90;
29
+ }
30
+ return direction === 'column' ? -90 : 0;
31
+ };
32
+ const Root = (0, _styles.styled)('div', {
33
+ name: 'MuiChartsLabelGradient',
34
+ slot: 'Root',
35
+ overridesResolver: (props, styles) => styles.root
36
+ })(({
37
+ ownerState
38
+ }) => {
39
+ const rotation = getRotation(ownerState.direction, ownerState.reverse, ownerState.rotate);
40
+ return {
41
+ display: 'flex',
42
+ alignItems: 'center',
43
+ justifyContent: 'center',
44
+ [`.${_labelGradientClasses.labelGradientClasses.mask}`]: {
45
+ borderRadius: 2,
46
+ overflow: 'hidden'
47
+ },
48
+ [`&.${_labelGradientClasses.labelGradientClasses.row}`]: {
49
+ width: '100%',
50
+ [`.${_labelGradientClasses.labelGradientClasses.mask}`]: {
51
+ height: 12,
52
+ width: '100%'
53
+ }
54
+ },
55
+ [`&.${_labelGradientClasses.labelGradientClasses.column}`]: {
56
+ height: '100%',
57
+ [`.${_labelGradientClasses.labelGradientClasses.mask}`]: {
58
+ width: 12,
59
+ height: '100%',
60
+ '> svg': {
61
+ height: '100%'
62
+ }
63
+ }
64
+ },
65
+ svg: {
66
+ transform: `rotate(${rotation}deg)`,
67
+ display: 'block'
68
+ }
69
+ };
70
+ });
71
+
72
+ /**
73
+ * @ignore - internal component.
74
+ *
75
+ * Generates the label Gradient for the tooltip and legend.
76
+ */
77
+ const ChartsLabelGradient = exports.ChartsLabelGradient = (0, _consumeThemeProps.consumeThemeProps)('MuiChartsLabelGradient', {
78
+ defaultProps: {
79
+ direction: 'row'
80
+ },
81
+ classesResolver: _labelGradientClasses.useUtilityClasses
82
+ }, function ChartsLabelGradient(props, ref) {
83
+ const {
84
+ gradientId,
85
+ classes,
86
+ className
87
+ } = props,
88
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
89
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({
90
+ className: (0, _clsx.default)(classes?.root, className),
91
+ ownerState: props,
92
+ "aria-hidden": "true",
93
+ ref: ref
94
+ }, other, {
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
96
+ className: classes?.mask,
97
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
98
+ viewBox: "0 0 24 24",
99
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
100
+ width: "24",
101
+ height: "24",
102
+ fill: `url(#${gradientId})`
103
+ })
104
+ })
105
+ })
106
+ }));
107
+ });
108
+ process.env.NODE_ENV !== "production" ? ChartsLabelGradient.propTypes = {
109
+ // ----------------------------- Warning --------------------------------
110
+ // | These PropTypes are generated from the TypeScript type definitions |
111
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
112
+ // ----------------------------------------------------------------------
113
+ /**
114
+ * Override or extend the styles applied to the component.
115
+ */
116
+ classes: _propTypes.default.object,
117
+ /**
118
+ * The direction of the gradient.
119
+ *
120
+ * @default 'row'
121
+ */
122
+ direction: _propTypes.default.oneOf(['column', 'row']),
123
+ /**
124
+ * A unique identifier for the gradient.
125
+ *
126
+ * The `gradientId` will be used as `fill="url(#gradientId)"`.
127
+ */
128
+ gradientId: _propTypes.default.string.isRequired,
129
+ /**
130
+ * If `true`, the gradient will be reversed.
131
+ */
132
+ reverse: _propTypes.default.bool,
133
+ /**
134
+ * If provided, the gradient will be rotated by 90deg.
135
+ *
136
+ * Useful for linear gradients that are not in the correct orientation.
137
+ */
138
+ rotate: _propTypes.default.bool
139
+ } : void 0;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.ChartsLabelMark = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _styles = require("@mui/material/styles");
15
+ var _clsx = _interopRequireDefault(require("clsx"));
16
+ var _labelMarkClasses = require("./labelMarkClasses");
17
+ var _consumeThemeProps = require("../internals/consumeThemeProps");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const _excluded = ["type", "color", "className", "classes"];
20
+ const Root = (0, _styles.styled)('div', {
21
+ name: 'MuiChartsLabelMark',
22
+ slot: 'Root',
23
+ overridesResolver: (props, styles) => styles.root
24
+ })(() => {
25
+ return {
26
+ display: 'flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'center',
29
+ flexShrink: 0,
30
+ [`&.${_labelMarkClasses.labelMarkClasses.line}`]: {
31
+ width: 16,
32
+ display: 'flex',
33
+ alignItems: 'center',
34
+ [`.${_labelMarkClasses.labelMarkClasses.mask}`]: {
35
+ height: 4,
36
+ width: '100%',
37
+ borderRadius: 1,
38
+ overflow: 'hidden'
39
+ }
40
+ },
41
+ [`&.${_labelMarkClasses.labelMarkClasses.square}`]: {
42
+ height: 13,
43
+ width: 13,
44
+ borderRadius: 2,
45
+ overflow: 'hidden'
46
+ },
47
+ [`&.${_labelMarkClasses.labelMarkClasses.circle}`]: {
48
+ height: 15,
49
+ width: 15,
50
+ borderRadius: '50%',
51
+ overflow: 'hidden'
52
+ },
53
+ svg: {
54
+ display: 'block',
55
+ height: '100%',
56
+ width: '100%'
57
+ }
58
+ };
59
+ });
60
+
61
+ /**
62
+ * @ignore - internal component.
63
+ *
64
+ * Generates the label mark for the tooltip and legend.
65
+ */
66
+ const ChartsLabelMark = exports.ChartsLabelMark = (0, _consumeThemeProps.consumeThemeProps)('MuiChartsLabelMark', {
67
+ classesResolver: _labelMarkClasses.useUtilityClasses
68
+ }, function ChartsLabelMark(props, ref) {
69
+ const {
70
+ type,
71
+ color,
72
+ className,
73
+ classes
74
+ } = props,
75
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
76
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({
77
+ className: (0, _clsx.default)(classes?.root, className),
78
+ ownerState: props,
79
+ "aria-hidden": "true",
80
+ ref: ref
81
+ }, other, {
82
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
83
+ className: classes?.mask,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
85
+ viewBox: "0 0 24 24",
86
+ preserveAspectRatio: type === 'line' ? 'none' : undefined,
87
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
88
+ width: "24",
89
+ height: "24",
90
+ fill: color
91
+ })
92
+ })
93
+ })
94
+ }));
95
+ });
96
+ process.env.NODE_ENV !== "production" ? ChartsLabelMark.propTypes = {
97
+ // ----------------------------- Warning --------------------------------
98
+ // | These PropTypes are generated from the TypeScript type definitions |
99
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
100
+ // ----------------------------------------------------------------------
101
+ /**
102
+ * Override or extend the styles applied to the component.
103
+ */
104
+ classes: _propTypes.default.object,
105
+ /**
106
+ * The color of the mark.
107
+ */
108
+ color: _propTypes.default.string,
109
+ /**
110
+ * The type of the mark.
111
+ * @default 'square'
112
+ */
113
+ type: _propTypes.default.oneOf(['circle', 'line', 'square'])
114
+ } : void 0;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getLabelUtilityClass = getLabelUtilityClass;
8
+ exports.useUtilityClasses = exports.labelClasses = void 0;
9
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
10
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
+ function getLabelUtilityClass(slot) {
13
+ return (0, _generateUtilityClass.default)('MuiChartsLabel', slot);
14
+ }
15
+ const labelClasses = exports.labelClasses = (0, _generateUtilityClasses.default)('MuiChartsLabel', ['root']);
16
+ const useUtilityClasses = props => {
17
+ const slots = {
18
+ root: ['root']
19
+ };
20
+ return (0, _composeClasses.default)(slots, getLabelUtilityClass, props.classes);
21
+ };
22
+ exports.useUtilityClasses = useUtilityClasses;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getLabelGradientUtilityClass = getLabelGradientUtilityClass;
8
+ exports.useUtilityClasses = exports.labelGradientClasses = void 0;
9
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
10
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
+ function getLabelGradientUtilityClass(slot) {
13
+ return (0, _generateUtilityClass.default)('MuiChartsLabelGradient', slot);
14
+ }
15
+ const labelGradientClasses = exports.labelGradientClasses = (0, _generateUtilityClasses.default)('MuiChartsLabelGradient', ['root', 'column', 'row', 'mask']);
16
+ const useUtilityClasses = props => {
17
+ const {
18
+ direction
19
+ } = props;
20
+ const slots = {
21
+ root: ['root', direction],
22
+ mask: ['mask']
23
+ };
24
+ return (0, _composeClasses.default)(slots, getLabelGradientUtilityClass, props.classes);
25
+ };
26
+ exports.useUtilityClasses = useUtilityClasses;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getLabelMarkUtilityClass = getLabelMarkUtilityClass;
8
+ exports.useUtilityClasses = exports.labelMarkClasses = void 0;
9
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
10
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
+ function getLabelMarkUtilityClass(slot) {
13
+ return (0, _generateUtilityClass.default)('MuiChartsLabelMark', slot);
14
+ }
15
+ const labelMarkClasses = exports.labelMarkClasses = (0, _generateUtilityClasses.default)('MuiChartsLabelMark', ['root', 'line', 'square', 'circle', 'mask']);
16
+ const useUtilityClasses = props => {
17
+ const {
18
+ type
19
+ } = props;
20
+ const slots = {
21
+ root: ['root', type],
22
+ mask: ['mask']
23
+ };
24
+ return (0, _composeClasses.default)(slots, getLabelMarkUtilityClass, props.classes);
25
+ };
26
+ exports.useUtilityClasses = useUtilityClasses;
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useAxis = useAxis;
9
- var React = _interopRequireWildcard(require("react"));
10
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
11
8
  var _useCartesianContext = require("../context/CartesianProvider/useCartesianContext");
9
+ var _useZAxis = require("../hooks/useZAxis");
12
10
  /**
13
11
  * Helper to select an axis definition according to its direction and id.
14
12
  */
@@ -25,7 +23,7 @@ function useAxis({
25
23
  const {
26
24
  zAxis,
27
25
  zAxisIds
28
- } = React.useContext(_ZAxisContextProvider.ZAxisContext);
26
+ } = (0, _useZAxis.useZAxis)();
29
27
  switch (axisDirection) {
30
28
  case 'x':
31
29
  {
@@ -21,11 +21,11 @@ function ChartsAxisTooltipContent(props) {
21
21
  classes: propClasses,
22
22
  sx
23
23
  } = props;
24
- const tootlipData = (0, _useAxisTooltip.useAxisTooltip)();
24
+ const tooltipData = (0, _useAxisTooltip.useAxisTooltip)();
25
25
  const xAxis = (0, _hooks.useXAxis)();
26
26
  const yAxis = (0, _hooks.useYAxis)();
27
27
  const classes = (0, _chartsTooltipClasses.useUtilityClasses)(propClasses);
28
- if (tootlipData === null) {
28
+ if (tooltipData === null) {
29
29
  return null;
30
30
  }
31
31
  const {
@@ -33,7 +33,7 @@ function ChartsAxisTooltipContent(props) {
33
33
  axisValue,
34
34
  axisFormattedValue,
35
35
  seriesItems
36
- } = tootlipData;
36
+ } = tooltipData;
37
37
  const axis = axisDirection === 'x' ? xAxis : yAxis;
38
38
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
39
39
  sx: sx,
@@ -42,8 +42,10 @@ function ChartsAxisTooltipContent(props) {
42
42
  className: classes.table,
43
43
  children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
44
44
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipRow, {
45
+ className: classes.row,
45
46
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
46
47
  colSpan: 3,
48
+ className: (0, _clsx.default)(classes.cell, classes.axisValueCell),
47
49
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
48
50
  children: axisFormattedValue
49
51
  })
@@ -17,11 +17,10 @@ const ChartsTooltipPaper = exports.ChartsTooltipPaper = (0, _styles.styled)('div
17
17
  })(({
18
18
  theme
19
19
  }) => ({
20
- boxShadow: theme.shadows[1],
21
20
  backgroundColor: (theme.vars || theme).palette.background.paper,
22
21
  color: (theme.vars || theme).palette.text.primary,
23
- transition: theme.transitions.create('box-shadow'),
24
- borderRadius: theme.shape.borderRadius
22
+ borderRadius: theme.shape.borderRadius,
23
+ border: `solid ${(theme.vars || theme).palette.divider} 1px`
25
24
  }));
26
25
 
27
26
  /**
@@ -51,10 +50,10 @@ const ChartsTooltipRow = exports.ChartsTooltipRow = (0, _styles.styled)('tr', {
51
50
  theme
52
51
  }) => ({
53
52
  'tr:first-of-type& td': {
54
- paddingTop: theme.spacing(1)
53
+ paddingTop: theme.spacing(0.5)
55
54
  },
56
55
  'tr:last-of-type& td': {
57
- paddingBottom: theme.spacing(1)
56
+ paddingBottom: theme.spacing(0.5)
58
57
  }
59
58
  }));
60
59
 
@@ -71,17 +70,23 @@ const ChartsTooltipCell = exports.ChartsTooltipCell = (0, _styles.styled)('td',
71
70
  verticalAlign: 'middle',
72
71
  color: (theme.vars || theme).palette.text.secondary,
73
72
  [`&.${_chartsTooltipClasses.chartsTooltipClasses.labelCell}`]: {
74
- paddingLeft: theme.spacing(1)
73
+ paddingLeft: theme.spacing(1),
74
+ paddingRight: theme.spacing(1.5),
75
+ fontWeight: theme.typography.fontWeightRegular
76
+ },
77
+ [`&.${_chartsTooltipClasses.chartsTooltipClasses.valueCell}, &.${_chartsTooltipClasses.chartsTooltipClasses.axisValueCell}`]: {
78
+ color: (theme.vars || theme).palette.text.primary,
79
+ fontWeight: theme.typography.fontWeightMedium
75
80
  },
76
81
  [`&.${_chartsTooltipClasses.chartsTooltipClasses.valueCell}`]: {
77
- paddingLeft: theme.spacing(4),
78
- color: (theme.vars || theme).palette.text.primary
82
+ paddingLeft: theme.spacing(1.5),
83
+ paddingRight: theme.spacing(1.5)
79
84
  },
80
85
  'td:first-of-type&': {
81
- paddingLeft: theme.spacing(2)
86
+ paddingLeft: theme.spacing(1.5)
82
87
  },
83
88
  'td:last-of-type&': {
84
- paddingRight: theme.spacing(2)
89
+ paddingRight: theme.spacing(1.5)
85
90
  }
86
91
  }));
87
92
 
@@ -100,9 +105,6 @@ const ChartsTooltipMark = exports.ChartsTooltipMark = (0, _styles.styled)('div',
100
105
  width: theme.spacing(1),
101
106
  height: theme.spacing(1),
102
107
  borderRadius: '50%',
103
- boxShadow: theme.shadows[1],
104
108
  background: color,
105
- borderColor: (theme.vars || theme).palette.background.paper,
106
- border: `solid ${(theme.vars || theme).palette.background.paper} ${theme.spacing(0.25)}`,
107
109
  boxSizing: 'content-box'
108
110
  }));
@@ -13,7 +13,7 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
13
13
  function getChartsTooltipUtilityClass(slot) {
14
14
  return (0, _generateUtilityClass.default)('MuiChartsTooltip', slot);
15
15
  }
16
- const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _generateUtilityClasses.default)('MuiChartsTooltip', ['root', 'paper', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell']);
16
+ const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _generateUtilityClasses.default)('MuiChartsTooltip', ['root', 'paper', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell', 'axisValueCell']);
17
17
  const useUtilityClasses = classes => {
18
18
  const slots = {
19
19
  root: ['root'],
@@ -24,7 +24,8 @@ const useUtilityClasses = classes => {
24
24
  mark: ['mark'],
25
25
  markCell: ['markCell'],
26
26
  labelCell: ['labelCell'],
27
- valueCell: ['valueCell']
27
+ valueCell: ['valueCell'],
28
+ axisValueCell: ['axisValueCell']
28
29
  };
29
30
  return (0, _composeClasses.default)(slots, getChartsTooltipUtilityClass, classes);
30
31
  };