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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/BarChart/BarChart.d.ts +21 -5
  2. package/BarChart/BarChart.js +37 -13
  3. package/BarChart/BarElement.d.ts +20 -13
  4. package/BarChart/BarElement.js +1 -0
  5. package/BarChart/BarPlot.d.ts +3 -5
  6. package/BarChart/BarPlot.js +9 -10
  7. package/CHANGELOG.md +223 -1
  8. package/ChartContainer/ChartContainer.js +6 -4
  9. package/ChartsAxis/ChartsAxis.js +4 -4
  10. package/ChartsGrid/ChartsGrid.d.ts +30 -0
  11. package/ChartsGrid/ChartsGrid.js +128 -0
  12. package/ChartsGrid/chartsGridClasses.d.ts +13 -0
  13. package/ChartsGrid/chartsGridClasses.js +14 -0
  14. package/ChartsGrid/index.d.ts +2 -0
  15. package/ChartsGrid/index.js +27 -0
  16. package/ChartsGrid/package.json +6 -0
  17. package/ChartsLegend/ChartsLegend.d.ts +5 -54
  18. package/ChartsLegend/ChartsLegend.js +2 -307
  19. package/ChartsLegend/DefaultChartsLegend.d.ts +60 -0
  20. package/ChartsLegend/DefaultChartsLegend.js +294 -0
  21. package/ChartsLegend/index.d.ts +1 -0
  22. package/ChartsLegend/index.js +11 -0
  23. package/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  24. package/ChartsReferenceLine/common.d.ts +2 -1
  25. package/ChartsSurface.js +6 -4
  26. package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  27. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +1 -1
  28. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  29. package/ChartsTooltip/utils.d.ts +1 -0
  30. package/ChartsTooltip/utils.js +7 -0
  31. package/ChartsXAxis/ChartsXAxis.js +15 -11
  32. package/ChartsYAxis/ChartsYAxis.js +3 -3
  33. package/Gauge/Gauge.d.ts +13 -0
  34. package/Gauge/Gauge.js +156 -0
  35. package/Gauge/GaugeContainer.d.ts +19 -0
  36. package/Gauge/GaugeContainer.js +216 -0
  37. package/Gauge/GaugeProvider.d.ts +117 -0
  38. package/Gauge/GaugeProvider.js +96 -0
  39. package/Gauge/GaugeReferenceArc.d.ts +2 -0
  40. package/Gauge/GaugeReferenceArc.js +44 -0
  41. package/Gauge/GaugeValueArc.d.ts +2 -0
  42. package/Gauge/GaugeValueArc.js +51 -0
  43. package/Gauge/GaugeValueText.d.ts +15 -0
  44. package/Gauge/GaugeValueText.js +77 -0
  45. package/Gauge/gaugeClasses.d.ts +14 -0
  46. package/Gauge/gaugeClasses.js +15 -0
  47. package/Gauge/index.d.ts +7 -0
  48. package/Gauge/index.js +87 -0
  49. package/Gauge/package.json +6 -0
  50. package/Gauge/utils.d.ts +19 -0
  51. package/Gauge/utils.js +75 -0
  52. package/LineChart/AnimatedArea.js +1 -1
  53. package/LineChart/AnimatedLine.js +1 -1
  54. package/LineChart/AreaElement.d.ts +2 -1
  55. package/LineChart/AreaElement.js +1 -1
  56. package/LineChart/LineChart.d.ts +24 -5
  57. package/LineChart/LineChart.js +41 -13
  58. package/LineChart/LineElement.d.ts +2 -1
  59. package/LineChart/LineElement.js +1 -1
  60. package/LineChart/LineHighlightElement.d.ts +3 -2
  61. package/LineChart/LineHighlightElement.js +2 -1
  62. package/LineChart/MarkElement.d.ts +3 -2
  63. package/LineChart/MarkElement.js +1 -0
  64. package/PieChart/PieArc.d.ts +7 -6
  65. package/PieChart/PieArc.js +10 -9
  66. package/PieChart/PieArcLabel.d.ts +3 -2
  67. package/PieChart/PieArcLabel.js +1 -0
  68. package/PieChart/PieArcLabelPlot.js +14 -14
  69. package/PieChart/PieArcPlot.js +1 -1
  70. package/PieChart/PieChart.d.ts +22 -0
  71. package/PieChart/PieChart.js +32 -8
  72. package/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
  73. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +2 -0
  74. package/ResponsiveChartContainer/useChartContainerDimensions.js +76 -0
  75. package/ScatterChart/ScatterChart.d.ts +18 -0
  76. package/ScatterChart/ScatterChart.js +35 -8
  77. package/SparkLineChart/SparkLineChart.d.ts +1 -1
  78. package/SparkLineChart/SparkLineChart.js +5 -4
  79. package/context/CartesianContextProvider.js +8 -6
  80. package/esm/BarChart/BarChart.js +37 -13
  81. package/esm/BarChart/BarElement.js +1 -0
  82. package/esm/BarChart/BarPlot.js +8 -10
  83. package/esm/ChartContainer/ChartContainer.js +6 -4
  84. package/esm/ChartsAxis/ChartsAxis.js +4 -4
  85. package/esm/ChartsGrid/ChartsGrid.js +121 -0
  86. package/esm/ChartsGrid/chartsGridClasses.js +6 -0
  87. package/esm/ChartsGrid/index.js +2 -0
  88. package/esm/ChartsLegend/ChartsLegend.js +2 -307
  89. package/esm/ChartsLegend/DefaultChartsLegend.js +286 -0
  90. package/esm/ChartsLegend/index.js +1 -0
  91. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  92. package/esm/ChartsSurface.js +6 -4
  93. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  94. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  95. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  96. package/esm/ChartsTooltip/utils.js +6 -0
  97. package/esm/ChartsXAxis/ChartsXAxis.js +14 -10
  98. package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
  99. package/esm/Gauge/Gauge.js +149 -0
  100. package/esm/Gauge/GaugeContainer.js +211 -0
  101. package/esm/Gauge/GaugeProvider.js +85 -0
  102. package/esm/Gauge/GaugeReferenceArc.js +35 -0
  103. package/esm/Gauge/GaugeValueArc.js +42 -0
  104. package/esm/Gauge/GaugeValueText.js +69 -0
  105. package/esm/Gauge/gaugeClasses.js +7 -0
  106. package/esm/Gauge/index.js +7 -0
  107. package/esm/Gauge/utils.js +68 -0
  108. package/esm/LineChart/AnimatedArea.js +1 -1
  109. package/esm/LineChart/AnimatedLine.js +1 -1
  110. package/esm/LineChart/AreaElement.js +1 -1
  111. package/esm/LineChart/LineChart.js +41 -13
  112. package/esm/LineChart/LineElement.js +1 -1
  113. package/esm/LineChart/LineHighlightElement.js +2 -1
  114. package/esm/LineChart/MarkElement.js +1 -0
  115. package/esm/PieChart/PieArc.js +10 -9
  116. package/esm/PieChart/PieArcLabel.js +1 -0
  117. package/esm/PieChart/PieArcLabelPlot.js +14 -14
  118. package/esm/PieChart/PieArcPlot.js +1 -1
  119. package/esm/PieChart/PieChart.js +32 -8
  120. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
  121. package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  122. package/esm/ScatterChart/ScatterChart.js +35 -8
  123. package/esm/SparkLineChart/SparkLineChart.js +5 -4
  124. package/esm/context/CartesianContextProvider.js +8 -6
  125. package/esm/hooks/useTicks.js +2 -3
  126. package/esm/index.js +2 -0
  127. package/hooks/useTicks.d.ts +1 -2
  128. package/hooks/useTicks.js +2 -3
  129. package/index.d.ts +2 -0
  130. package/index.js +23 -1
  131. package/internals/defaultizeColor.d.ts +16 -16
  132. package/internals/defaultizeValueFormatter.d.ts +4 -7
  133. package/internals/stackSeries.d.ts +4 -7
  134. package/legacy/BarChart/BarChart.js +37 -13
  135. package/legacy/BarChart/BarElement.js +1 -0
  136. package/legacy/BarChart/BarPlot.js +10 -10
  137. package/legacy/ChartContainer/ChartContainer.js +6 -4
  138. package/legacy/ChartsAxis/ChartsAxis.js +4 -4
  139. package/legacy/ChartsGrid/ChartsGrid.js +119 -0
  140. package/legacy/ChartsGrid/chartsGridClasses.js +6 -0
  141. package/legacy/ChartsGrid/index.js +2 -0
  142. package/legacy/ChartsLegend/ChartsLegend.js +2 -323
  143. package/legacy/ChartsLegend/DefaultChartsLegend.js +302 -0
  144. package/legacy/ChartsLegend/index.js +1 -0
  145. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  146. package/legacy/ChartsSurface.js +5 -3
  147. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  148. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  149. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  150. package/legacy/ChartsTooltip/utils.js +6 -0
  151. package/legacy/ChartsXAxis/ChartsXAxis.js +13 -9
  152. package/legacy/ChartsYAxis/ChartsYAxis.js +2 -2
  153. package/legacy/Gauge/Gauge.js +146 -0
  154. package/legacy/Gauge/GaugeContainer.js +215 -0
  155. package/legacy/Gauge/GaugeProvider.js +87 -0
  156. package/legacy/Gauge/GaugeReferenceArc.js +37 -0
  157. package/legacy/Gauge/GaugeValueArc.js +44 -0
  158. package/legacy/Gauge/GaugeValueText.js +66 -0
  159. package/legacy/Gauge/gaugeClasses.js +7 -0
  160. package/legacy/Gauge/index.js +7 -0
  161. package/legacy/Gauge/utils.js +84 -0
  162. package/legacy/LineChart/AnimatedArea.js +1 -1
  163. package/legacy/LineChart/AnimatedLine.js +1 -1
  164. package/legacy/LineChart/AreaElement.js +1 -1
  165. package/legacy/LineChart/LineChart.js +41 -13
  166. package/legacy/LineChart/LineElement.js +1 -1
  167. package/legacy/LineChart/LineHighlightElement.js +2 -1
  168. package/legacy/LineChart/MarkElement.js +1 -0
  169. package/legacy/PieChart/PieArc.js +11 -10
  170. package/legacy/PieChart/PieArcLabel.js +1 -0
  171. package/legacy/PieChart/PieArcLabelPlot.js +15 -15
  172. package/legacy/PieChart/PieArcPlot.js +1 -1
  173. package/legacy/PieChart/PieChart.js +32 -8
  174. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +13 -81
  175. package/legacy/ResponsiveChartContainer/useChartContainerDimensions.js +73 -0
  176. package/legacy/ScatterChart/ScatterChart.js +35 -8
  177. package/legacy/SparkLineChart/SparkLineChart.js +6 -5
  178. package/legacy/context/CartesianContextProvider.js +8 -6
  179. package/legacy/hooks/useTicks.js +2 -3
  180. package/legacy/index.js +3 -1
  181. package/models/axis.d.ts +7 -2
  182. package/models/seriesType/common.d.ts +2 -1
  183. package/models/seriesType/config.d.ts +7 -12
  184. package/models/seriesType/line.d.ts +2 -2
  185. package/models/seriesType/pie.d.ts +7 -3
  186. package/models/seriesType/scatter.d.ts +5 -2
  187. package/modern/BarChart/BarChart.js +37 -13
  188. package/modern/BarChart/BarElement.js +1 -0
  189. package/modern/BarChart/BarPlot.js +8 -10
  190. package/modern/ChartContainer/ChartContainer.js +6 -4
  191. package/modern/ChartsAxis/ChartsAxis.js +4 -4
  192. package/modern/ChartsGrid/ChartsGrid.js +121 -0
  193. package/modern/ChartsGrid/chartsGridClasses.js +6 -0
  194. package/modern/ChartsGrid/index.js +2 -0
  195. package/modern/ChartsLegend/ChartsLegend.js +2 -307
  196. package/modern/ChartsLegend/DefaultChartsLegend.js +286 -0
  197. package/modern/ChartsLegend/index.js +1 -0
  198. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  199. package/modern/ChartsSurface.js +6 -4
  200. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  201. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  202. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  203. package/modern/ChartsTooltip/utils.js +6 -0
  204. package/modern/ChartsXAxis/ChartsXAxis.js +14 -10
  205. package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
  206. package/modern/Gauge/Gauge.js +149 -0
  207. package/modern/Gauge/GaugeContainer.js +208 -0
  208. package/modern/Gauge/GaugeProvider.js +85 -0
  209. package/modern/Gauge/GaugeReferenceArc.js +35 -0
  210. package/modern/Gauge/GaugeValueArc.js +42 -0
  211. package/modern/Gauge/GaugeValueText.js +69 -0
  212. package/modern/Gauge/gaugeClasses.js +7 -0
  213. package/modern/Gauge/index.js +7 -0
  214. package/modern/Gauge/utils.js +68 -0
  215. package/modern/LineChart/AnimatedArea.js +1 -1
  216. package/modern/LineChart/AnimatedLine.js +1 -1
  217. package/modern/LineChart/AreaElement.js +1 -1
  218. package/modern/LineChart/LineChart.js +41 -13
  219. package/modern/LineChart/LineElement.js +1 -1
  220. package/modern/LineChart/LineHighlightElement.js +2 -1
  221. package/modern/LineChart/MarkElement.js +1 -0
  222. package/modern/PieChart/PieArc.js +10 -9
  223. package/modern/PieChart/PieArcLabel.js +1 -0
  224. package/modern/PieChart/PieArcLabelPlot.js +14 -14
  225. package/modern/PieChart/PieArcPlot.js +1 -1
  226. package/modern/PieChart/PieChart.js +32 -8
  227. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +8 -70
  228. package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  229. package/modern/ScatterChart/ScatterChart.js +35 -8
  230. package/modern/SparkLineChart/SparkLineChart.js +5 -4
  231. package/modern/context/CartesianContextProvider.js +8 -6
  232. package/modern/hooks/useTicks.js +2 -3
  233. package/modern/index.js +3 -1
  234. package/package.json +4 -4
@@ -1,3 +1,4 @@
1
1
  export * from './ChartsLegend';
2
+ export * from './DefaultChartsLegend';
2
3
  export * from './chartsLegendClasses';
3
4
  export * from './utils';
@@ -14,6 +14,17 @@ Object.keys(_ChartsLegend).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
+ var _DefaultChartsLegend = require("./DefaultChartsLegend");
18
+ Object.keys(_DefaultChartsLegend).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _DefaultChartsLegend[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _DefaultChartsLegend[key];
25
+ }
26
+ });
27
+ });
17
28
  var _chartsLegendClasses = require("./chartsLegendClasses");
18
29
  Object.keys(_chartsLegendClasses).forEach(function (key) {
19
30
  if (key === "default" || key === "__esModule") return;
@@ -19,7 +19,7 @@ function ChartsReferenceLine(props) {
19
19
  y
20
20
  } = props;
21
21
  if (x !== undefined && y !== undefined) {
22
- throw new Error('MUI X Charts: The ChartsReferenceLine can not have both `x` and `y` props set.');
22
+ throw new Error('MUI X Charts: The ChartsReferenceLine cannot have both `x` and `y` props set.');
23
23
  }
24
24
  if (x === undefined && y === undefined) {
25
25
  throw new Error('MUI X Charts: The ChartsReferenceLine should have a value in `x` or `y` prop.');
@@ -38,7 +38,7 @@ process.env.NODE_ENV !== "production" ? ChartsReferenceLine.propTypes = {
38
38
  * The id of the axis used for the reference value.
39
39
  * @default The `id` of the first defined axis.
40
40
  */
41
- axisId: _propTypes.default.string,
41
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
42
42
  /**
43
43
  * Override or extend the styles applied to the component.
44
44
  */
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { ChartsReferenceLineClasses } from './chartsReferenceLineClasses';
3
3
  import { ChartsTextStyle } from '../ChartsText';
4
+ import { AxisId } from '../models/axis';
4
5
  export type CommonChartsReferenceLineProps = {
5
6
  /**
6
7
  * The alignment if the label is in the chart drawing area.
@@ -24,7 +25,7 @@ export type CommonChartsReferenceLineProps = {
24
25
  * The id of the axis used for the reference value.
25
26
  * @default The `id` of the first defined axis.
26
27
  */
27
- axisId?: string;
28
+ axisId?: AxisId;
28
29
  /**
29
30
  * The style applied to the label.
30
31
  */
package/ChartsSurface.js CHANGED
@@ -12,7 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _useAxisEvents = require("./hooks/useAxisEvents");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
- const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className"];
15
+ const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className", "title", "desc"];
16
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  const ChartChartsSurfaceStyles = (0, _styles.styled)('svg', {
@@ -25,7 +25,9 @@ const ChartsSurface = exports.ChartsSurface = /*#__PURE__*/React.forwardRef(func
25
25
  width,
26
26
  height,
27
27
  viewBox,
28
- disableAxisListener = false
28
+ disableAxisListener = false,
29
+ title,
30
+ desc
29
31
  } = props,
30
32
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
31
33
  const svgView = (0, _extends2.default)({
@@ -42,9 +44,9 @@ const ChartsSurface = exports.ChartsSurface = /*#__PURE__*/React.forwardRef(func
42
44
  ref: ref
43
45
  }, other, {
44
46
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("title", {
45
- children: props.title
47
+ children: title
46
48
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("desc", {
47
- children: props.desc
49
+ children: desc
48
50
  }), children]
49
51
  }));
50
52
  });
@@ -48,7 +48,7 @@ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
48
48
  classes: _propTypes.default.object,
49
49
  itemData: _propTypes.default.shape({
50
50
  dataIndex: _propTypes.default.number,
51
- seriesId: _propTypes.default.string.isRequired,
51
+ seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
52
52
  type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
53
53
  }),
54
54
  series: _propTypes.default.object,
@@ -56,7 +56,7 @@ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
56
56
  }),
57
57
  itemData: _propTypes.default.shape({
58
58
  dataIndex: _propTypes.default.number,
59
- seriesId: _propTypes.default.string.isRequired,
59
+ seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
60
60
  type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
61
61
  }).isRequired,
62
62
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
@@ -26,7 +26,7 @@ function DefaultChartsAxisTooltipContent(props) {
26
26
  if (dataIndex == null) {
27
27
  return null;
28
28
  }
29
- const axisFormatter = axis.valueFormatter ?? (v => v.toLocaleString());
29
+ const axisFormatter = axis.valueFormatter ?? (v => axis.scaleType === 'utc' ? (0, _utils.utcFormatter)(v) : v.toLocaleString());
30
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
31
31
  sx: sx,
32
32
  className: classes.root,
@@ -76,7 +76,7 @@ process.env.NODE_ENV !== "production" ? DefaultChartsItemTooltipContent.propType
76
76
  */
77
77
  itemData: _propTypes.default.shape({
78
78
  dataIndex: _propTypes.default.number,
79
- seriesId: _propTypes.default.string.isRequired,
79
+ seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
80
80
  type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
81
81
  }).isRequired,
82
82
  /**
@@ -24,3 +24,4 @@ export type TriggerOptions = 'item' | 'axis' | 'none';
24
24
  export declare function getTooltipHasData(trigger: TriggerOptions, displayedData: null | AxisInteractionData | ItemInteractionData<ChartSeriesType>): boolean;
25
25
  export declare function isCartesianSeriesType(seriesType: string): seriesType is CartesianChartSeriesType;
26
26
  export declare function isCartesianSeries(series: ChartSeriesDefaultized<ChartSeriesType>): series is ChartSeriesDefaultized<CartesianChartSeriesType>;
27
+ export declare function utcFormatter(v: string | number | Date): string;
@@ -8,6 +8,7 @@ exports.getTooltipHasData = getTooltipHasData;
8
8
  exports.isCartesianSeries = isCartesianSeries;
9
9
  exports.isCartesianSeriesType = isCartesianSeriesType;
10
10
  exports.useMouseTracker = useMouseTracker;
11
+ exports.utcFormatter = utcFormatter;
11
12
  var React = _interopRequireWildcard(require("react"));
12
13
  var _DrawingProvider = require("../context/DrawingProvider");
13
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -96,4 +97,10 @@ function isCartesianSeriesType(seriesType) {
96
97
  }
97
98
  function isCartesianSeries(series) {
98
99
  return isCartesianSeriesType(series.type);
100
+ }
101
+ function utcFormatter(v) {
102
+ if (v instanceof Date) {
103
+ return v.toUTCString();
104
+ }
105
+ return v.toLocaleString();
99
106
  }
@@ -14,7 +14,7 @@ var _utils2 = require("@mui/utils");
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
16
16
  var _DrawingProvider = require("../context/DrawingProvider");
17
- var _useTicks = _interopRequireDefault(require("../hooks/useTicks"));
17
+ var _useTicks = require("../hooks/useTicks");
18
18
  var _axisClasses = require("../ChartsAxis/axisClasses");
19
19
  var _AxisSharedComponents = require("../internals/components/AxisSharedComponents");
20
20
  var _ChartsText = require("../ChartsText");
@@ -22,7 +22,7 @@ var _geometry = require("../internals/geometry");
22
22
  var _useMounted = require("../hooks/useMounted");
23
23
  var _getWordsByLines = require("../internals/getWordsByLines");
24
24
  var _jsxRuntime = require("react/jsx-runtime");
25
- const _excluded = ["scale", "tickNumber"];
25
+ const _excluded = ["scale", "tickNumber", "reverse"];
26
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
27
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
28
28
  const useUtilityClasses = ownerState => {
@@ -43,6 +43,7 @@ const useUtilityClasses = ownerState => {
43
43
  function addLabelDimension(xTicks, {
44
44
  tickLabelStyle: style,
45
45
  tickLabelInterval,
46
+ reverse,
46
47
  isMounted
47
48
  }) {
48
49
  const withDimension = xTicks.map(tick => {
@@ -69,8 +70,9 @@ function addLabelDimension(xTicks, {
69
70
  }
70
71
 
71
72
  // Filter label to avoid overlap
72
- let textStart = 0;
73
- let textEnd = 0;
73
+ let currentTextLimit = 0;
74
+ let previouseTextLimit = 0;
75
+ const direction = reverse ? -1 : 1;
74
76
  return withDimension.map((item, labelIndex) => {
75
77
  const {
76
78
  width,
@@ -82,15 +84,15 @@ function addLabelDimension(xTicks, {
82
84
  const textPosition = offset + labelOffset;
83
85
  const gapRatio = 1.2; // Ratio applied to the minimal distance to add some margin.
84
86
 
85
- textStart = textPosition - gapRatio * distance / 2;
86
- if (labelIndex > 0 && textStart < textEnd) {
87
+ currentTextLimit = textPosition - direction * (gapRatio * distance) / 2;
88
+ if (labelIndex > 0 && direction * currentTextLimit < direction * previouseTextLimit) {
87
89
  // Except for the first label, we skip all label that overlap with the last accepted.
88
- // Notice that the early return prevents `textEnd` from being updated.
90
+ // Notice that the early return prevents `previouseTextLimit` from being updated.
89
91
  return (0, _extends2.default)({}, item, {
90
92
  skipLabel: true
91
93
  });
92
94
  }
93
- textEnd = textPosition + gapRatio * distance / 2;
95
+ previouseTextLimit = textPosition + direction * (gapRatio * distance) / 2;
94
96
  return item;
95
97
  });
96
98
  }
@@ -124,7 +126,8 @@ function ChartsXAxis(inProps) {
124
126
  xAxis: {
125
127
  [_ref]: {
126
128
  scale: xScale,
127
- tickNumber
129
+ tickNumber,
130
+ reverse
128
131
  }
129
132
  }
130
133
  } = _React$useContext,
@@ -177,7 +180,7 @@ function ChartsXAxis(inProps) {
177
180
  className: classes.tickLabel,
178
181
  ownerState: {}
179
182
  });
180
- const xTicks = (0, _useTicks.default)({
183
+ const xTicks = (0, _useTicks.useTicks)({
181
184
  scale: xScale,
182
185
  tickNumber,
183
186
  valueFormatter,
@@ -186,6 +189,7 @@ function ChartsXAxis(inProps) {
186
189
  const xTicksWithDimension = addLabelDimension(xTicks, {
187
190
  tickLabelStyle: axisTickLabelProps.style,
188
191
  tickLabelInterval,
192
+ reverse,
189
193
  isMounted
190
194
  });
191
195
  const labelRefPoint = {
@@ -249,7 +253,7 @@ process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
249
253
  * The id of the axis to render.
250
254
  * If undefined, it will be the first defined axis.
251
255
  */
252
- axisId: _propTypes.default.string,
256
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
253
257
  /**
254
258
  * Override or extend the styles applied to the component.
255
259
  */
@@ -14,7 +14,7 @@ var _utils2 = require("@mui/utils");
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
16
16
  var _DrawingProvider = require("../context/DrawingProvider");
17
- var _useTicks = _interopRequireDefault(require("../hooks/useTicks"));
17
+ var _useTicks = require("../hooks/useTicks");
18
18
  var _AxisSharedComponents = require("../internals/components/AxisSharedComponents");
19
19
  var _ChartsText = require("../ChartsText");
20
20
  var _axisClasses = require("../ChartsAxis/axisClasses");
@@ -100,7 +100,7 @@ function ChartsYAxis(inProps) {
100
100
  height
101
101
  } = React.useContext(_DrawingProvider.DrawingContext);
102
102
  const tickSize = disableTicks ? 4 : tickSizeProp;
103
- const yTicks = (0, _useTicks.default)({
103
+ const yTicks = (0, _useTicks.useTicks)({
104
104
  scale: yScale,
105
105
  tickNumber,
106
106
  valueFormatter
@@ -183,7 +183,7 @@ process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
183
183
  * The id of the axis to render.
184
184
  * If undefined, it will be the first defined axis.
185
185
  */
186
- axisId: _propTypes.default.string,
186
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
187
187
  /**
188
188
  * Override or extend the styles applied to the component.
189
189
  */
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import { GaugeContainerProps } from './GaugeContainer';
3
+ import { GaugeClasses } from './gaugeClasses';
4
+ import { GaugeValueTextProps } from './GaugeValueText';
5
+ export interface GaugeProps extends GaugeContainerProps, Pick<GaugeValueTextProps, 'text'> {
6
+ classes?: Partial<GaugeClasses>;
7
+ children?: React.ReactNode;
8
+ }
9
+ declare function Gauge(props: GaugeProps): React.JSX.Element;
10
+ declare namespace Gauge {
11
+ var propTypes: any;
12
+ }
13
+ export { Gauge };
package/Gauge/Gauge.js ADDED
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Gauge = Gauge;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
+ var _GaugeContainer = require("./GaugeContainer");
14
+ var _GaugeValueArc = require("./GaugeValueArc");
15
+ var _GaugeReferenceArc = require("./GaugeReferenceArc");
16
+ var _gaugeClasses = require("./gaugeClasses");
17
+ var _GaugeValueText = require("./GaugeValueText");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const _excluded = ["text", "children", "classes"];
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ const useUtilityClasses = props => {
23
+ const {
24
+ classes
25
+ } = props;
26
+ const slots = {
27
+ root: ['root'],
28
+ valueArc: ['valueArc'],
29
+ referenceArc: ['referenceArc'],
30
+ valueText: ['valueText']
31
+ };
32
+ return (0, _composeClasses.default)(slots, _gaugeClasses.getGaugeUtilityClass, classes);
33
+ };
34
+ function Gauge(props) {
35
+ const {
36
+ text,
37
+ children
38
+ } = props,
39
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
40
+ const classes = useUtilityClasses(props);
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GaugeContainer.GaugeContainer, (0, _extends2.default)({}, other, {
42
+ className: classes.root,
43
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GaugeReferenceArc.GaugeReferenceArc, {
44
+ className: classes.referenceArc
45
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GaugeValueArc.GaugeValueArc, {
46
+ className: classes.valueArc
47
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GaugeValueText.GaugeValueText, {
48
+ className: classes.valueText,
49
+ text: text
50
+ }), children]
51
+ }));
52
+ }
53
+ process.env.NODE_ENV !== "production" ? Gauge.propTypes = {
54
+ // ----------------------------- Warning --------------------------------
55
+ // | These PropTypes are generated from the TypeScript type definitions |
56
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
57
+ // ----------------------------------------------------------------------
58
+ children: _propTypes.default.node,
59
+ classes: _propTypes.default.object,
60
+ className: _propTypes.default.string,
61
+ /**
62
+ * The radius applied to arc corners (similar to border radius).
63
+ * Set it to '50%' to get rounded arc.
64
+ * @default 0
65
+ */
66
+ cornerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
67
+ /**
68
+ * The x coordinate of the arc center.
69
+ * Can be a number (in px) or a string with a percentage such as '50%'.
70
+ * The '100%' is the width the drawing area.
71
+ */
72
+ cx: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
73
+ /**
74
+ * The y coordinate of the arc center.
75
+ * Can be a number (in px) or a string with a percentage such as '50%'.
76
+ * The '100%' is the height the drawing area.
77
+ */
78
+ cy: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
79
+ desc: _propTypes.default.string,
80
+ /**
81
+ * If `true`, the charts will not listen to the mouse move event.
82
+ * It might break interactive features, but will improve performance.
83
+ * @default false
84
+ */
85
+ disableAxisListener: _propTypes.default.bool,
86
+ /**
87
+ * The end angle (deg).
88
+ * @default 360
89
+ */
90
+ endAngle: _propTypes.default.number,
91
+ /**
92
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
93
+ * @default undefined
94
+ */
95
+ height: _propTypes.default.number,
96
+ /**
97
+ * The radius between circle center and the begining of the arc.
98
+ * Can be a number (in px) or a string with a percentage such as '50%'.
99
+ * The '100%' is the maximal radius that fit into the drawing area.
100
+ * @default '80%'
101
+ */
102
+ innerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
103
+ /**
104
+ * The margin between the SVG and the drawing area.
105
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
106
+ * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
107
+ * @default object Depends on the charts type.
108
+ */
109
+ margin: _propTypes.default.shape({
110
+ bottom: _propTypes.default.number,
111
+ left: _propTypes.default.number,
112
+ right: _propTypes.default.number,
113
+ top: _propTypes.default.number
114
+ }),
115
+ /**
116
+ * The radius between circle center and the end of the arc.
117
+ * Can be a number (in px) or a string with a percentage such as '50%'.
118
+ * The '100%' is the maximal radius that fit into the drawing area.
119
+ * @default '100%'
120
+ */
121
+ outerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
122
+ /**
123
+ * The start angle (deg).
124
+ * @default 0
125
+ */
126
+ startAngle: _propTypes.default.number,
127
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
128
+ text: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
129
+ title: _propTypes.default.string,
130
+ /**
131
+ * The value of the gauge.
132
+ * Set to `null` to not display a value.
133
+ */
134
+ value: _propTypes.default.number,
135
+ /**
136
+ * The maximal value of the gauge.
137
+ * @default 100
138
+ */
139
+ valueMax: _propTypes.default.number,
140
+ /**
141
+ * The minimal value of the gauge.
142
+ * @default 0
143
+ */
144
+ valueMin: _propTypes.default.number,
145
+ viewBox: _propTypes.default.shape({
146
+ height: _propTypes.default.number,
147
+ width: _propTypes.default.number,
148
+ x: _propTypes.default.number,
149
+ y: _propTypes.default.number
150
+ }),
151
+ /**
152
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
153
+ * @default undefined
154
+ */
155
+ width: _propTypes.default.number
156
+ } : void 0;
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { ChartsSurfaceProps } from '../ChartsSurface';
3
+ import { DrawingProviderProps } from '../context/DrawingProvider';
4
+ import { GaugeProviderProps } from './GaugeProvider';
5
+ export interface GaugeContainerProps extends Omit<ChartsSurfaceProps, 'width' | 'height' | 'children'>, Omit<DrawingProviderProps, 'svgRef' | 'width' | 'height' | 'children'>, Omit<GaugeProviderProps, 'children'> {
6
+ /**
7
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
8
+ * @default undefined
9
+ */
10
+ width?: number;
11
+ /**
12
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
13
+ * @default undefined
14
+ */
15
+ height?: number;
16
+ children?: React.ReactNode;
17
+ }
18
+ declare const GaugeContainer: React.ForwardRefExoticComponent<GaugeContainerProps & React.RefAttributes<unknown>>;
19
+ export { GaugeContainer };