@mui/x-charts 7.4.0 → 7.5.0

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 (106) hide show
  1. package/BarChart/BarChart.js +11 -10
  2. package/BarChart/BarElement.d.ts +10 -5
  3. package/BarChart/BarElement.js +3 -2
  4. package/BarChart/legend.js +13 -6
  5. package/CHANGELOG.md +93 -0
  6. package/ChartContainer/ChartContainer.js +10 -10
  7. package/ChartsOverlay/ChartsLoadingOverlay.js +3 -3
  8. package/ChartsOverlay/ChartsNoDataOverlay.js +2 -2
  9. package/ChartsOverlay/ChartsOverlay.d.ts +9 -0
  10. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +4 -2
  11. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +7 -3
  12. package/ChartsTooltip/utils.js +13 -8
  13. package/ChartsXAxis/ChartsXAxis.js +1 -2
  14. package/ChartsYAxis/ChartsYAxis.js +2 -2
  15. package/LineChart/AreaElement.d.ts +1 -1
  16. package/LineChart/AreaElement.js +3 -3
  17. package/LineChart/AreaPlot.js +3 -2
  18. package/LineChart/LineChart.js +11 -10
  19. package/LineChart/LineElement.d.ts +1 -1
  20. package/LineChart/LineElement.js +3 -3
  21. package/LineChart/LineHighlightElement.d.ts +1 -1
  22. package/LineChart/MarkElement.d.ts +1 -1
  23. package/LineChart/legend.js +13 -6
  24. package/PieChart/PieArc.d.ts +1 -1
  25. package/PieChart/PieArcLabel.d.ts +1 -1
  26. package/PieChart/PieArcLabel.js +3 -1
  27. package/PieChart/PieArcLabelPlot.js +14 -5
  28. package/PieChart/PieArcPlot.js +1 -1
  29. package/PieChart/PieChart.js +11 -10
  30. package/PieChart/formatter.js +4 -1
  31. package/PieChart/legend.js +15 -5
  32. package/ResponsiveChartContainer/ResponsiveChartContainer.js +10 -10
  33. package/ScatterChart/ScatterChart.js +16 -15
  34. package/ScatterChart/legend.js +13 -6
  35. package/SparkLineChart/SparkLineChart.js +5 -5
  36. package/context/ZAxisContextProvider.js +5 -5
  37. package/esm/BarChart/BarChart.js +11 -10
  38. package/esm/BarChart/BarElement.js +3 -2
  39. package/esm/BarChart/legend.js +13 -6
  40. package/esm/ChartContainer/ChartContainer.js +10 -10
  41. package/esm/ChartsOverlay/ChartsLoadingOverlay.js +3 -3
  42. package/esm/ChartsOverlay/ChartsNoDataOverlay.js +2 -2
  43. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +4 -2
  44. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +7 -3
  45. package/esm/ChartsTooltip/utils.js +13 -8
  46. package/esm/ChartsXAxis/ChartsXAxis.js +1 -2
  47. package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
  48. package/esm/LineChart/AreaElement.js +3 -3
  49. package/esm/LineChart/AreaPlot.js +3 -2
  50. package/esm/LineChart/LineChart.js +11 -10
  51. package/esm/LineChart/LineElement.js +3 -3
  52. package/esm/LineChart/legend.js +13 -6
  53. package/esm/PieChart/PieArcLabel.js +3 -1
  54. package/esm/PieChart/PieArcLabelPlot.js +14 -5
  55. package/esm/PieChart/PieArcPlot.js +1 -1
  56. package/esm/PieChart/PieChart.js +11 -10
  57. package/esm/PieChart/formatter.js +4 -1
  58. package/esm/PieChart/legend.js +15 -5
  59. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +10 -10
  60. package/esm/ScatterChart/ScatterChart.js +16 -15
  61. package/esm/ScatterChart/legend.js +13 -6
  62. package/esm/SparkLineChart/SparkLineChart.js +5 -5
  63. package/esm/context/ZAxisContextProvider.js +5 -5
  64. package/esm/hooks/useAxisEvents.js +12 -7
  65. package/esm/internals/getLabel.js +3 -0
  66. package/hooks/useAxisEvents.js +12 -7
  67. package/index.js +1 -1
  68. package/internals/defaultizeColor.d.ts +7 -5
  69. package/internals/getLabel.d.ts +1 -0
  70. package/internals/getLabel.js +9 -0
  71. package/internals/utils.d.ts +1 -1
  72. package/models/seriesType/bar.d.ts +4 -1
  73. package/models/seriesType/line.d.ts +4 -1
  74. package/models/seriesType/pie.d.ts +9 -4
  75. package/models/seriesType/scatter.d.ts +4 -1
  76. package/modern/BarChart/BarChart.js +11 -10
  77. package/modern/BarChart/BarElement.js +3 -2
  78. package/modern/BarChart/legend.js +13 -6
  79. package/modern/ChartContainer/ChartContainer.js +10 -10
  80. package/modern/ChartsOverlay/ChartsLoadingOverlay.js +3 -3
  81. package/modern/ChartsOverlay/ChartsNoDataOverlay.js +2 -2
  82. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +4 -2
  83. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +7 -3
  84. package/modern/ChartsTooltip/utils.js +13 -8
  85. package/modern/ChartsXAxis/ChartsXAxis.js +1 -2
  86. package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
  87. package/modern/LineChart/AreaElement.js +3 -3
  88. package/modern/LineChart/AreaPlot.js +3 -2
  89. package/modern/LineChart/LineChart.js +11 -10
  90. package/modern/LineChart/LineElement.js +3 -3
  91. package/modern/LineChart/legend.js +13 -6
  92. package/modern/PieChart/PieArcLabel.js +3 -1
  93. package/modern/PieChart/PieArcLabelPlot.js +14 -5
  94. package/modern/PieChart/PieArcPlot.js +1 -1
  95. package/modern/PieChart/PieChart.js +11 -10
  96. package/modern/PieChart/formatter.js +4 -1
  97. package/modern/PieChart/legend.js +15 -5
  98. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +10 -10
  99. package/modern/ScatterChart/ScatterChart.js +16 -15
  100. package/modern/ScatterChart/legend.js +13 -6
  101. package/modern/SparkLineChart/SparkLineChart.js +5 -5
  102. package/modern/context/ZAxisContextProvider.js +5 -5
  103. package/modern/hooks/useAxisEvents.js +12 -7
  104. package/modern/index.js +1 -1
  105. package/modern/internals/getLabel.js +3 -0
  106. package/package.json +2 -2
@@ -214,6 +214,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
214
214
  }),
215
215
  /**
216
216
  * If `true`, a loading overlay is displayed.
217
+ * @default false
217
218
  */
218
219
  loading: _propTypes.default.bool,
219
220
  /**
@@ -306,6 +307,11 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
306
307
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
307
308
  classes: _propTypes.default.object,
308
309
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
310
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
311
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
312
+ unknownColor: _propTypes.default.string,
313
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
314
+ }), _propTypes.default.shape({
309
315
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
310
316
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
311
317
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -314,11 +320,6 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
314
320
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
315
321
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
316
322
  type: _propTypes.default.oneOf(['piecewise']).isRequired
317
- }), _propTypes.default.shape({
318
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
319
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
320
- unknownColor: _propTypes.default.string,
321
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
322
323
  })]),
323
324
  data: _propTypes.default.array,
324
325
  dataKey: _propTypes.default.string,
@@ -359,6 +360,11 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
359
360
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
360
361
  classes: _propTypes.default.object,
361
362
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
363
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
364
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
365
+ unknownColor: _propTypes.default.string,
366
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
367
+ }), _propTypes.default.shape({
362
368
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
363
369
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
364
370
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -367,11 +373,6 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
367
373
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
368
374
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
369
375
  type: _propTypes.default.oneOf(['piecewise']).isRequired
370
- }), _propTypes.default.shape({
371
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
372
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
373
- unknownColor: _propTypes.default.string,
374
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
375
376
  })]),
376
377
  data: _propTypes.default.array,
377
378
  dataKey: _propTypes.default.string,
@@ -1,5 +1,6 @@
1
1
  /// <reference types="@react-spring/shared" />
2
2
  import * as React from 'react';
3
+ import { AnimatedProps } from '@react-spring/web';
3
4
  import { HighlightScope } from '../context/HighlightProvider';
4
5
  import { SeriesId } from '../models/seriesType/common';
5
6
  export interface BarElementClasses {
@@ -17,7 +18,7 @@ export interface BarElementOwnerState {
17
18
  }
18
19
  export declare function getBarElementUtilityClass(slot: string): string;
19
20
  export declare const barElementClasses: BarElementClasses;
20
- export declare const BarElementPath: import("@emotion/styled").StyledComponent<Pick<import("@react-spring/web").AnimatedProps<{
21
+ export declare const BarElementPath: import("@emotion/styled").StyledComponent<Pick<AnimatedProps<{
21
22
  string?: string | number | undefined;
22
23
  end?: string | number | undefined;
23
24
  accumulate?: "none" | "sum" | undefined;
@@ -1352,9 +1353,13 @@ export declare const BarElementPath: import("@emotion/styled").StyledComponent<P
1352
1353
  }, "string" | "end" | "accumulate" | "local" | "color" | "clip" | "style" | "unicode" | "fill" | "stroke" | "x" | "y" | "clipPath" | "cursor" | "direction" | "display" | "filter" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "height" | "imageRendering" | "letterSpacing" | "opacity" | "order" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "visibility" | "width" | "wordSpacing" | "writingMode" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "mask" | "offset" | "overflow" | "textDecoration" | "azimuth" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "additive" | "path" | "ref" | "suppressHydrationWarning" | "className" | "id" | "lang" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "role" | "tabIndex" | "crossOrigin" | "accentHeight" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "href" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "scrollTop" | "scrollLeft"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
1353
1354
  ownerState: BarElementOwnerState;
1354
1355
  }, {}, {}>;
1355
- interface BarProps extends Omit<React.ComponentPropsWithoutRef<'path'>, 'id' | 'color'> {
1356
+ interface BarProps extends Omit<React.SVGProps<SVGRectElement>, 'id' | 'color' | 'ref' | 'x' | 'y' | 'height' | 'width'>, AnimatedProps<{
1357
+ x?: string | number | undefined;
1358
+ y?: string | number | undefined;
1359
+ height?: string | number | undefined;
1360
+ width?: string | number | undefined;
1361
+ }> {
1356
1362
  highlightScope?: Partial<HighlightScope>;
1357
- onClick?: (event: React.MouseEvent<SVGPathElement, MouseEvent>) => void;
1358
1363
  ownerState: BarElementOwnerState;
1359
1364
  }
1360
1365
  export interface BarElementSlots {
@@ -1362,12 +1367,12 @@ export interface BarElementSlots {
1362
1367
  * The component that renders the bar.
1363
1368
  * @default BarElementPath
1364
1369
  */
1365
- bar?: React.JSXElementConstructor<BarProps>;
1370
+ bar?: React.ElementType<BarProps>;
1366
1371
  }
1367
1372
  export interface BarElementSlotProps {
1368
1373
  bar?: Partial<BarProps>;
1369
1374
  }
1370
- export type BarElementProps = Omit<BarElementOwnerState, 'isFaded' | 'isHighlighted'> & Omit<React.ComponentPropsWithoutRef<'path'>, 'id'> & {
1375
+ export type BarElementProps = Omit<BarElementOwnerState, 'isFaded' | 'isHighlighted'> & Omit<React.SVGProps<SVGRectElement>, 'ref' | 'id'> & {
1371
1376
  highlightScope?: Partial<HighlightScope>;
1372
1377
  /**
1373
1378
  * The props used for each component slot.
@@ -90,16 +90,17 @@ function BarElement(props) {
90
90
  const barProps = (0, _utils.useSlotProps)({
91
91
  elementType: Bar,
92
92
  externalSlotProps: slotProps?.bar,
93
- additionalProps: (0, _extends2.default)({}, other, getInteractionItemProps({
93
+ externalForwardedProps: other,
94
+ additionalProps: (0, _extends2.default)({}, getInteractionItemProps({
94
95
  type: 'bar',
95
96
  seriesId: id,
96
97
  dataIndex
97
98
  }), {
98
99
  style,
99
- className: classes.root,
100
100
  onClick,
101
101
  cursor: onClick ? 'pointer' : 'unset'
102
102
  }),
103
+ className: classes.root,
103
104
  ownerState
104
105
  });
105
106
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Bar, (0, _extends2.default)({}, barProps));
@@ -4,16 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _getLabel = require("../internals/getLabel");
7
8
  const legendGetter = params => {
8
9
  const {
9
10
  seriesOrder,
10
11
  series
11
12
  } = params;
12
- const data = seriesOrder.map(seriesId => ({
13
- color: series[seriesId].color,
14
- label: series[seriesId].label,
15
- id: seriesId
16
- }));
17
- return data.filter(item => item.label !== undefined);
13
+ return seriesOrder.reduce((acc, seriesId) => {
14
+ const formattedLabel = (0, _getLabel.getLabel)(series[seriesId].label, 'legend');
15
+ if (formattedLabel === undefined) {
16
+ return acc;
17
+ }
18
+ acc.push({
19
+ color: series[seriesId].color,
20
+ label: formattedLabel,
21
+ id: seriesId
22
+ });
23
+ return acc;
24
+ }, []);
18
25
  };
19
26
  var _default = exports.default = legendGetter;
package/CHANGELOG.md CHANGED
@@ -3,6 +3,77 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## v7.5.0
7
+
8
+ _May 17, 2024_
9
+
10
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🎁 Add support for checkbox selection on the Tree View components
13
+ - 🌍 Improve Norwegian (nb-NO) and Spanish (es-ES) locales on the Data Grid
14
+ - 🐞 Bugfixes
15
+ - 📚 Documentation improvements
16
+
17
+ ### Data Grid
18
+
19
+ #### `@mui/x-data-grid@7.5.0`
20
+
21
+ - [DataGrid] Fix `rowModesModel` controlled prop (#13056) @Janpot
22
+ - [DataGrid] Reduce bundle size with error messages (#12992) @oliviertassinari
23
+ - [l10n] Improve Norwegian (nb-NO) locale (#13106) @oliverlaidma
24
+ - [l10n] Improve Spanish (es-ES) locale (#13133) @Jucabel
25
+
26
+ #### `@mui/x-data-grid-pro@7.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
27
+
28
+ Same changes as in `@mui/x-data-grid@7.5.0`.
29
+
30
+ #### `@mui/x-data-grid-premium@7.5.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
31
+
32
+ Same changes as in `@mui/x-data-grid-pro@7.5.0`.
33
+
34
+ ### Date and Time Pickers
35
+
36
+ #### `@mui/x-date-pickers@7.5.0`
37
+
38
+ - [fields] Allow empty `textField` slot placeholder value (#13148) @arthurbalduini
39
+ - [pickers] Fix `AdapterMomentJalaali` regression (#13144) @LukasTy
40
+ - [pickers] Fix field focusing when switching to view without a renderer (#13112) @LukasTy
41
+ - [pickers] Reuse `AdapterDateFnsBase` in Jalali adapters (#13075) @LukasTy
42
+
43
+ #### `@mui/x-date-pickers-pro@7.5.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
44
+
45
+ Same changes as in `@mui/x-date-pickers@7.5.0`.
46
+
47
+ ### Charts
48
+
49
+ #### `@mui/x-charts@7.5.0`
50
+
51
+ - [charts] Tooltip with `trigger=axis` now follow touch on mobile (#13043) @wzdorowa
52
+ - [charts] Allow `series.label` property to receive a function with the "location" it is going to be displayed on (#12830) @JCQuintas
53
+ - [charts] Improve TypeScript performance (#13137) @alexfauquette
54
+ - [charts] Fix area order when overlapping (#13121) @alexfauquette
55
+ - [charts] Improve `useSlotProps` types (#13141) @alexfauquette
56
+ - [charts] Fix using the theme's font in the Overlay (#13107) @alexfauquette
57
+
58
+ ### Tree View
59
+
60
+ #### `@mui/x-tree-view@7.5.0`
61
+
62
+ - [TreeView] Add support for checkbox selection (#11452) @flaviendelangle
63
+ - [TreeView] Remove unused code (#12917) @flaviendelangle
64
+
65
+ ### Docs
66
+
67
+ - [docs] Document missing Charts API's (#12875) @alexfauquette
68
+
69
+ ### Core
70
+
71
+ - [core] Avoid root level `@mui/x-date-pickers` imports (#13120) @LukasTy
72
+ - [core] Refactor ESLint config to disallow root level imports (#13130) @LukasTy
73
+ - [core] Simplify Danger's config (#13062) @oliviertassinari
74
+ - [core] Shift aliasing from babel to webpack (#13051) @Janpot
75
+ - [core] Reuse the `SectionTitle` component in the doc (#13139) @alexfauquette
76
+
6
77
  ## 7.4.0
7
78
 
8
79
  _May 10, 2024_
@@ -3346,6 +3417,28 @@ Here is an example of the renaming for the `<ChartsTooltip />` component.
3346
3417
  - [core] Update release instructions as per v7 configuration (#10962) @MBilalShafi
3347
3418
  - [license] Correctly throw errors (#10924) @oliviertassinari
3348
3419
 
3420
+ ## 6.19.12
3421
+
3422
+ _May 17, 2024_
3423
+
3424
+ We'd like to offer a big thanks to the 2 contributors who made this release possible. Here are some highlights ✨:
3425
+
3426
+ - 🐞 Bugfixes
3427
+
3428
+ ### Date Pickers
3429
+
3430
+ #### `@mui/x-date-pickers@6.19.12`
3431
+
3432
+ - [pickers] Fix `AdapterMomentJalaali` regression (#13150) @LukasTy
3433
+
3434
+ #### `@mui/x-date-pickers-pro@6.19.12` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
3435
+
3436
+ Same changes as in `@mui/x-date-pickers@6.19.12`.
3437
+
3438
+ ### Docs
3439
+
3440
+ - [docs] Use MUI X v6 in Codesandbox and Stackblitz demos (#12838) @cherniavskii
3441
+
3349
3442
  ## 6.19.11
3350
3443
 
3351
3444
  _Apr 18, 2024_
@@ -136,6 +136,11 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
136
136
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
137
137
  classes: _propTypes.default.object,
138
138
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
139
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
140
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
141
+ unknownColor: _propTypes.default.string,
142
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
143
+ }), _propTypes.default.shape({
139
144
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
140
145
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
141
146
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -144,11 +149,6 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
144
149
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
145
150
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
146
151
  type: _propTypes.default.oneOf(['piecewise']).isRequired
147
- }), _propTypes.default.shape({
148
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
149
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
150
- unknownColor: _propTypes.default.string,
151
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
152
152
  })]),
153
153
  data: _propTypes.default.array,
154
154
  dataKey: _propTypes.default.string,
@@ -189,6 +189,11 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
189
189
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
190
190
  classes: _propTypes.default.object,
191
191
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
192
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
193
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
194
+ unknownColor: _propTypes.default.string,
195
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
196
+ }), _propTypes.default.shape({
192
197
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
193
198
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
194
199
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -197,11 +202,6 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
197
202
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
198
203
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
199
204
  type: _propTypes.default.oneOf(['piecewise']).isRequired
200
- }), _propTypes.default.shape({
201
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
202
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
203
- unknownColor: _propTypes.default.string,
204
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
205
205
  })]),
206
206
  data: _propTypes.default.array,
207
207
  dataKey: _propTypes.default.string,
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ChartsLoadingOverlay = ChartsLoadingOverlay;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _styles = require("@mui/material/styles");
12
12
  var _useDrawingArea = require("../hooks/useDrawingArea");
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
16
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  const StyledText = (0, _styles.styled)('text')(({
18
18
  theme
19
- }) => ({
19
+ }) => (0, _extends2.default)({}, theme.typography.body2, {
20
20
  stroke: 'none',
21
21
  fill: theme.palette.text.primary,
22
22
  shapeRendering: 'crispEdges',
@@ -38,6 +38,6 @@ function ChartsLoadingOverlay(props) {
38
38
  x: left + width / 2,
39
39
  y: top + height / 2
40
40
  }, other, {
41
- children: message ?? 'Loading data ...'
41
+ children: message ?? 'Loading data'
42
42
  }));
43
43
  }
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ChartsNoDataOverlay = ChartsNoDataOverlay;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _styles = require("@mui/material/styles");
12
12
  var _useDrawingArea = require("../hooks/useDrawingArea");
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
16
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  const StyledText = (0, _styles.styled)('text')(({
18
18
  theme
19
- }) => ({
19
+ }) => (0, _extends2.default)({}, theme.typography.body2, {
20
20
  stroke: 'none',
21
21
  fill: theme.palette.text.primary,
22
22
  shapeRendering: 'crispEdges',
@@ -27,9 +27,18 @@ export interface ChartsOverlaySlotProps {
27
27
  export interface ChartsOverlayProps {
28
28
  /**
29
29
  * If `true`, a loading overlay is displayed.
30
+ * @default false
30
31
  */
31
32
  loading?: boolean;
33
+ /**
34
+ * Overridable component slots.
35
+ * @default {}
36
+ */
32
37
  slots?: ChartsOverlaySlots;
38
+ /**
39
+ * The props used for each component slot.
40
+ * @default {}
41
+ */
33
42
  slotProps?: ChartsOverlaySlotProps;
34
43
  }
35
44
  export declare function ChartsOverlay(props: ChartsOverlayProps): React.JSX.Element | null;
@@ -11,6 +11,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
11
11
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
12
12
  var _ChartsTooltipTable = require("./ChartsTooltipTable");
13
13
  var _utils = require("./utils");
14
+ var _getLabel = require("../internals/getLabel");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
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); }
16
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 && {}.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; }
@@ -59,6 +60,7 @@ function DefaultChartsAxisTooltipContent(props) {
59
60
  if (formattedValue == null) {
60
61
  return null;
61
62
  }
63
+ const formattedLabel = (0, _getLabel.getLabel)(label, 'tooltip');
62
64
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
63
65
  className: classes.row,
64
66
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
@@ -69,8 +71,8 @@ function DefaultChartsAxisTooltipContent(props) {
69
71
  })
70
72
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
71
73
  className: (0, _clsx.default)(classes.labelCell, classes.cell),
72
- children: label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
73
- children: label
74
+ children: formattedLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
75
+ children: formattedLabel
74
76
  }) : null
75
77
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
76
78
  className: (0, _clsx.default)(classes.valueCell, classes.cell),
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.DefaultChartsItemTooltipContent = DefaultChartsItemTooltipContent;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
11
  var _clsx = _interopRequireDefault(require("clsx"));
11
12
  var _ChartsTooltipTable = require("./ChartsTooltipTable");
13
+ var _getLabel = require("../internals/getLabel");
12
14
  var _jsxRuntime = require("react/jsx-runtime");
13
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.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,12 +30,14 @@ function DefaultChartsItemTooltipContent(props) {
28
30
  color
29
31
  } = series.type === 'pie' ? {
30
32
  color: getColor(itemData.dataIndex),
31
- displayedLabel: series.data[itemData.dataIndex].label
33
+ displayedLabel: (0, _getLabel.getLabel)(series.data[itemData.dataIndex].label, 'tooltip')
32
34
  } : {
33
35
  color: getColor(itemData.dataIndex) ?? series.color,
34
- displayedLabel: series.label
36
+ displayedLabel: (0, _getLabel.getLabel)(series.label, 'tooltip')
35
37
  };
36
- const value = series.data[itemData.dataIndex];
38
+ const value = series.type === 'pie' ? (0, _extends2.default)({}, series.data[itemData.dataIndex], {
39
+ label: (0, _getLabel.getLabel)(series.data[itemData.dataIndex].label, 'tooltip')
40
+ }) : series.data[itemData.dataIndex];
37
41
  const formattedValue = series.valueFormatter?.(value, {
38
42
  dataIndex: itemData.dataIndex
39
43
  });
@@ -66,20 +66,25 @@ function useMouseTracker() {
66
66
  if (element === null) {
67
67
  return () => {};
68
68
  }
69
- const handleMouseOut = () => {
69
+ const handleOut = () => {
70
70
  setMousePosition(null);
71
71
  };
72
- const handleMouseMove = event => {
72
+ const handleMove = event => {
73
+ const target = 'targetTouches' in event ? event.targetTouches[0] : event;
73
74
  setMousePosition({
74
- x: event.clientX,
75
- y: event.clientY
75
+ x: target.clientX,
76
+ y: target.clientY
76
77
  });
77
78
  };
78
- element.addEventListener('mouseout', handleMouseOut);
79
- element.addEventListener('mousemove', handleMouseMove);
79
+ element.addEventListener('mouseout', handleOut);
80
+ element.addEventListener('mousemove', handleMove);
81
+ element.addEventListener('touchend', handleOut);
82
+ element.addEventListener('touchmove', handleMove);
80
83
  return () => {
81
- element.removeEventListener('mouseout', handleMouseOut);
82
- element.removeEventListener('mousemove', handleMouseMove);
84
+ element.removeEventListener('mouseout', handleOut);
85
+ element.removeEventListener('mousemove', handleMove);
86
+ element.addEventListener('touchend', handleOut);
87
+ element.addEventListener('touchmove', handleMove);
83
88
  };
84
89
  }, [svgRef]);
85
90
  return mousePosition;
@@ -176,8 +176,7 @@ function ChartsXAxis(inProps) {
176
176
  textAnchor: 'middle',
177
177
  dominantBaseline: position === 'bottom' ? 'hanging' : 'auto',
178
178
  fontSize: tickFontSize ?? 12
179
- }, tickLabelStyle),
180
- className: classes.tickLabel
179
+ }, tickLabelStyle)
181
180
  },
182
181
  className: classes.tickLabel,
183
182
  ownerState: {}
@@ -129,9 +129,9 @@ function ChartsYAxis(inProps) {
129
129
  fontSize: tickFontSize,
130
130
  textAnchor: position === 'right' ? 'start' : 'end',
131
131
  dominantBaseline: 'central'
132
- }, tickLabelStyle),
133
- className: classes.tickLabel
132
+ }, tickLabelStyle)
134
133
  },
134
+ className: classes.tickLabel,
135
135
  ownerState: {}
136
136
  });
137
137
  const axisLabelProps = (0, _utils.useSlotProps)({
@@ -31,7 +31,7 @@ export interface AreaElementSlots {
31
31
  export interface AreaElementSlotProps {
32
32
  area?: AnimatedAreaProps;
33
33
  }
34
- export interface AreaElementProps extends Omit<AreaElementOwnerState, 'isFaded' | 'isHighlighted'>, Pick<AnimatedAreaProps, 'skipAnimation'>, Omit<React.ComponentPropsWithoutRef<'path'>, 'color' | 'id'> {
34
+ export interface AreaElementProps extends Omit<AreaElementOwnerState, 'isFaded' | 'isHighlighted'>, Pick<AnimatedAreaProps, 'skipAnimation'>, Omit<React.SVGProps<SVGPathElement>, 'ref' | 'color' | 'id'> {
35
35
  d: string;
36
36
  highlightScope?: Partial<HighlightScope>;
37
37
  /**
@@ -85,17 +85,17 @@ function AreaElement(props) {
85
85
  const areaProps = (0, _utils.useSlotProps)({
86
86
  elementType: Area,
87
87
  externalSlotProps: slotProps?.area,
88
- additionalProps: (0, _extends2.default)({}, other, getInteractionItemProps({
88
+ additionalProps: (0, _extends2.default)({}, getInteractionItemProps({
89
89
  type: 'line',
90
90
  seriesId: id
91
91
  }), {
92
- className: classes.root,
93
92
  onClick,
94
93
  cursor: onClick ? 'pointer' : 'unset'
95
94
  }),
95
+ className: classes.root,
96
96
  ownerState
97
97
  });
98
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Area, (0, _extends2.default)({}, areaProps));
98
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Area, (0, _extends2.default)({}, other, areaProps));
99
99
  }
100
100
  process.env.NODE_ENV !== "production" ? AreaElement.propTypes = {
101
101
  // ----------------------------- Warning --------------------------------
@@ -42,7 +42,8 @@ const useAggregatedData = () => {
42
42
  return stackingGroups.flatMap(({
43
43
  ids: groupIds
44
44
  }) => {
45
- return groupIds.flatMap(seriesId => {
45
+ return [...groupIds].reverse() // Revert stacked area for a more pleasant animation
46
+ .map(seriesId => {
46
47
  const {
47
48
  xAxisKey = defaultXAxisId,
48
49
  yAxisKey = defaultYAxisId,
@@ -101,7 +102,7 @@ function AreaPlot(props) {
101
102
  const getGradientId = (0, _ChartsAxesGradients.useChartGradient)();
102
103
  const completedData = useAggregatedData();
103
104
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
104
- children: completedData.reverse().map(({
105
+ children: completedData.map(({
105
106
  d,
106
107
  seriesId,
107
108
  color,
@@ -214,6 +214,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
214
214
  }),
215
215
  /**
216
216
  * If `true`, a loading overlay is displayed.
217
+ * @default false
217
218
  */
218
219
  loading: _propTypes.default.bool,
219
220
  /**
@@ -313,6 +314,11 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
313
314
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
314
315
  classes: _propTypes.default.object,
315
316
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
317
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
318
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
319
+ unknownColor: _propTypes.default.string,
320
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
321
+ }), _propTypes.default.shape({
316
322
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
317
323
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
318
324
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -321,11 +327,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
321
327
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
322
328
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
323
329
  type: _propTypes.default.oneOf(['piecewise']).isRequired
324
- }), _propTypes.default.shape({
325
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
326
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
327
- unknownColor: _propTypes.default.string,
328
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
329
330
  })]),
330
331
  data: _propTypes.default.array,
331
332
  dataKey: _propTypes.default.string,
@@ -366,6 +367,11 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
366
367
  axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
367
368
  classes: _propTypes.default.object,
368
369
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
370
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
371
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
372
+ unknownColor: _propTypes.default.string,
373
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
374
+ }), _propTypes.default.shape({
369
375
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
370
376
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
371
377
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -374,11 +380,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
374
380
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
375
381
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
376
382
  type: _propTypes.default.oneOf(['piecewise']).isRequired
377
- }), _propTypes.default.shape({
378
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
379
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
380
- unknownColor: _propTypes.default.string,
381
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
382
383
  })]),
383
384
  data: _propTypes.default.array,
384
385
  dataKey: _propTypes.default.string,
@@ -31,7 +31,7 @@ export interface LineElementSlots {
31
31
  export interface LineElementSlotProps {
32
32
  line?: AnimatedLineProps;
33
33
  }
34
- export interface LineElementProps extends Omit<LineElementOwnerState, 'isFaded' | 'isHighlighted'>, Pick<AnimatedLineProps, 'skipAnimation'>, Omit<React.ComponentPropsWithoutRef<'path'>, 'color' | 'id'> {
34
+ export interface LineElementProps extends Omit<LineElementOwnerState, 'isFaded' | 'isHighlighted'>, Pick<AnimatedLineProps, 'skipAnimation'>, Omit<React.SVGProps<SVGPathElement>, 'ref' | 'color' | 'id'> {
35
35
  d: string;
36
36
  highlightScope?: Partial<HighlightScope>;
37
37
  /**