@mui/x-charts 8.8.0 → 8.9.2
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.
- package/BarChart/BarChart.d.ts +3 -2
- package/BarChart/BarChart.js +95 -2
- package/BarChart/BarClipPath.d.ts +17 -12
- package/BarChart/BarClipPath.js +70 -57
- package/BarChart/BarPlot.js +4 -0
- package/BarChart/barClasses.d.ts +1 -1
- package/BarChart/seriesConfig/extremums.js +2 -3
- package/BarChart/seriesConfig/seriesProcessor.js +5 -3
- package/BarChart/useBarChartProps.d.ts +1 -1
- package/BarChart/useBarPlotData.js +32 -5
- package/CHANGELOG.md +225 -24
- package/ChartContainer/ChartContainer.js +141 -0
- package/ChartsLabel/ChartsLabelMark.d.ts +2 -1
- package/ChartsLabel/index.d.ts +1 -0
- package/ChartsLabel/index.js +18 -0
- package/ChartsLegend/chartsLegendClasses.d.ts +1 -1
- package/ChartsLegend/piecewiseColorLegendClasses.d.ts +1 -1
- package/{internals/components/ChartsWrapper → ChartsWrapper}/ChartsWrapper.d.ts +13 -4
- package/{internals/components/ChartsWrapper → ChartsWrapper}/ChartsWrapper.js +33 -7
- package/LineChart/LineChart.d.ts +3 -2
- package/LineChart/LineChart.js +95 -2
- package/LineChart/seriesConfig/extremums.js +2 -3
- package/LineChart/useLineChartProps.d.ts +1 -1
- package/PieChart/PieArcLabelPlot.js +3 -0
- package/PieChart/PieArcPlot.js +3 -0
- package/PieChart/PieChart.d.ts +3 -2
- package/PieChart/PieChart.js +2 -2
- package/PieChart/pieClasses.d.ts +1 -1
- package/RadarChart/RadarAxisHighlight/RadarAxisHighlight.js +3 -5
- package/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.d.ts +2 -13
- package/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +8 -45
- package/RadarChart/RadarChart.d.ts +3 -2
- package/RadarChart/RadarChart.js +24 -3
- package/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +3 -2
- package/RadarChart/RadarMetricLabels/useRadarMetricData.js +4 -2
- package/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +19 -3
- package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +20 -4
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +38 -4
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +32 -3
- package/RadarChart/RadarSeriesPlot/useRadarRotationIndex.d.ts +8 -0
- package/RadarChart/RadarSeriesPlot/useRadarRotationIndex.js +38 -0
- package/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +2 -2
- package/RadarChart/index.d.ts +1 -1
- package/RadarChart/useRadarChartProps.d.ts +4 -1
- package/RadarChart/useRadarChartProps.js +15 -3
- package/ScatterChart/ScatterChart.d.ts +3 -2
- package/ScatterChart/ScatterChart.js +95 -2
- package/ScatterChart/seriesConfig/extremums.js +50 -23
- package/ScatterChart/useScatterChartProps.d.ts +1 -1
- package/SparkLineChart/SparkLineChart.js +93 -0
- package/esm/BarChart/BarChart.d.ts +3 -2
- package/esm/BarChart/BarChart.js +95 -2
- package/esm/BarChart/BarClipPath.d.ts +17 -12
- package/esm/BarChart/BarClipPath.js +69 -55
- package/esm/BarChart/BarPlot.js +4 -0
- package/esm/BarChart/barClasses.d.ts +1 -1
- package/esm/BarChart/seriesConfig/extremums.js +2 -3
- package/esm/BarChart/seriesConfig/seriesProcessor.js +5 -3
- package/esm/BarChart/useBarChartProps.d.ts +1 -1
- package/esm/BarChart/useBarPlotData.js +32 -5
- package/esm/ChartContainer/ChartContainer.js +141 -0
- package/esm/ChartsLabel/ChartsLabelMark.d.ts +2 -1
- package/esm/ChartsLabel/index.d.ts +1 -0
- package/esm/ChartsLabel/index.js +1 -0
- package/esm/ChartsLegend/chartsLegendClasses.d.ts +1 -1
- package/esm/ChartsLegend/piecewiseColorLegendClasses.d.ts +1 -1
- package/esm/{internals/components/ChartsWrapper → ChartsWrapper}/ChartsWrapper.d.ts +13 -4
- package/esm/{internals/components/ChartsWrapper → ChartsWrapper}/ChartsWrapper.js +31 -6
- package/esm/LineChart/LineChart.d.ts +3 -2
- package/esm/LineChart/LineChart.js +95 -2
- package/esm/LineChart/seriesConfig/extremums.js +2 -3
- package/esm/LineChart/useLineChartProps.d.ts +1 -1
- package/esm/PieChart/PieArcLabelPlot.js +3 -0
- package/esm/PieChart/PieArcPlot.js +3 -0
- package/esm/PieChart/PieChart.d.ts +3 -2
- package/esm/PieChart/PieChart.js +2 -2
- package/esm/PieChart/pieClasses.d.ts +1 -1
- package/esm/RadarChart/RadarAxisHighlight/RadarAxisHighlight.js +3 -5
- package/esm/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.d.ts +2 -13
- package/esm/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +8 -45
- package/esm/RadarChart/RadarChart.d.ts +3 -2
- package/esm/RadarChart/RadarChart.js +24 -3
- package/esm/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +3 -2
- package/esm/RadarChart/RadarMetricLabels/useRadarMetricData.js +4 -2
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +19 -3
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +20 -4
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +38 -4
- package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.types.d.ts +32 -3
- package/esm/RadarChart/RadarSeriesPlot/useRadarRotationIndex.d.ts +8 -0
- package/esm/RadarChart/RadarSeriesPlot/useRadarRotationIndex.js +32 -0
- package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.d.ts +2 -2
- package/esm/RadarChart/index.d.ts +1 -1
- package/esm/RadarChart/useRadarChartProps.d.ts +4 -1
- package/esm/RadarChart/useRadarChartProps.js +15 -3
- package/esm/ScatterChart/ScatterChart.d.ts +3 -2
- package/esm/ScatterChart/ScatterChart.js +95 -2
- package/esm/ScatterChart/seriesConfig/extremums.js +50 -23
- package/esm/ScatterChart/useScatterChartProps.d.ts +1 -1
- package/esm/SparkLineChart/SparkLineChart.js +93 -0
- package/esm/hooks/useTicks.d.ts +6 -1
- package/esm/hooks/useTicks.js +94 -58
- package/esm/index.d.ts +2 -1
- package/esm/index.js +6 -2
- package/esm/internals/findMinMax.d.ts +1 -0
- package/esm/internals/findMinMax.js +13 -0
- package/esm/internals/getScale.js +3 -0
- package/esm/internals/index.d.ts +1 -1
- package/esm/internals/index.js +1 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +4 -1
- package/esm/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.d.ts +1 -1
- package/esm/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.js +19 -11
- package/esm/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.d.ts +1 -1
- package/esm/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.js +19 -11
- package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +10 -4
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +4 -4
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +44 -1
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +8 -1
- package/esm/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.js +17 -12
- package/esm/internals/symlogScale.d.ts +2 -0
- package/esm/internals/symlogScale.js +94 -0
- package/esm/models/axis.d.ts +47 -5
- package/esm/models/axis.js +3 -0
- package/esm/models/seriesType/bar.d.ts +11 -1
- package/esm/models/seriesType/common.d.ts +9 -3
- package/esm/models/seriesType/line.d.ts +3 -1
- package/esm/models/seriesType/scatter.d.ts +4 -1
- package/esm/tests/web-components.js +49 -0
- package/hooks/useTicks.d.ts +6 -1
- package/hooks/useTicks.js +95 -58
- package/index.d.ts +2 -1
- package/index.js +13 -1
- package/internals/findMinMax.d.ts +1 -0
- package/internals/findMinMax.js +19 -0
- package/internals/getScale.js +3 -0
- package/internals/index.d.ts +1 -1
- package/internals/index.js +12 -12
- package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +3 -0
- package/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.d.ts +1 -1
- package/internals/plugins/featurePlugins/useChartHighlight/createIsFaded.js +20 -13
- package/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.d.ts +1 -1
- package/internals/plugins/featurePlugins/useChartHighlight/createIsHighlighted.js +20 -13
- package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +10 -4
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +4 -4
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +44 -1
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +8 -1
- package/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.js +17 -12
- package/internals/symlogScale.d.ts +2 -0
- package/internals/symlogScale.js +100 -0
- package/models/axis.d.ts +47 -5
- package/models/axis.js +4 -0
- package/models/seriesType/bar.d.ts +11 -1
- package/models/seriesType/common.d.ts +9 -3
- package/models/seriesType/line.d.ts +3 -1
- package/models/seriesType/scatter.d.ts +4 -1
- package/package.json +6 -7
- package/tests/web-components.js +55 -0
- package/BarChart/getRadius.d.ts +0 -20
- package/BarChart/getRadius.js +0 -37
- package/esm/BarChart/getRadius.d.ts +0 -20
- package/esm/BarChart/getRadius.js +0 -30
- /package/{esm/internals/components/ChartsWrapper → ChartsWrapper}/index.d.ts +0 -0
- /package/{internals/components/ChartsWrapper → ChartsWrapper}/index.js +0 -0
- /package/{internals/components → esm}/ChartsWrapper/index.d.ts +0 -0
- /package/esm/{internals/components/ChartsWrapper → ChartsWrapper}/index.js +0 -0
|
@@ -361,6 +361,54 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
|
|
|
361
361
|
tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
362
362
|
tickSize: PropTypes.number,
|
|
363
363
|
valueFormatter: PropTypes.func
|
|
364
|
+
}), PropTypes.shape({
|
|
365
|
+
classes: PropTypes.object,
|
|
366
|
+
colorMap: PropTypes.oneOfType([PropTypes.shape({
|
|
367
|
+
color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
|
|
368
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
369
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
370
|
+
type: PropTypes.oneOf(['continuous']).isRequired
|
|
371
|
+
}), PropTypes.shape({
|
|
372
|
+
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
373
|
+
thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
|
|
374
|
+
type: PropTypes.oneOf(['piecewise']).isRequired
|
|
375
|
+
})]),
|
|
376
|
+
constant: PropTypes.number,
|
|
377
|
+
data: PropTypes.array,
|
|
378
|
+
dataKey: PropTypes.string,
|
|
379
|
+
disableLine: PropTypes.bool,
|
|
380
|
+
disableTicks: PropTypes.bool,
|
|
381
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
382
|
+
endAngle: PropTypes.number,
|
|
383
|
+
fill: PropTypes.string,
|
|
384
|
+
height: PropTypes.number,
|
|
385
|
+
hideTooltip: PropTypes.bool,
|
|
386
|
+
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
387
|
+
ignoreTooltip: PropTypes.bool,
|
|
388
|
+
label: PropTypes.string,
|
|
389
|
+
labelGap: PropTypes.number,
|
|
390
|
+
labelStyle: PropTypes.object,
|
|
391
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
392
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
393
|
+
offset: PropTypes.number,
|
|
394
|
+
position: PropTypes.oneOf(['bottom', 'none', 'top']),
|
|
395
|
+
reverse: PropTypes.bool,
|
|
396
|
+
scaleType: PropTypes.oneOf(['symlog']),
|
|
397
|
+
slotProps: PropTypes.object,
|
|
398
|
+
slots: PropTypes.object,
|
|
399
|
+
startAngle: PropTypes.number,
|
|
400
|
+
stroke: PropTypes.string,
|
|
401
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
402
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
403
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
404
|
+
tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
|
|
405
|
+
tickLabelStyle: PropTypes.object,
|
|
406
|
+
tickMaxStep: PropTypes.number,
|
|
407
|
+
tickMinStep: PropTypes.number,
|
|
408
|
+
tickNumber: PropTypes.number,
|
|
409
|
+
tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
410
|
+
tickSize: PropTypes.number,
|
|
411
|
+
valueFormatter: PropTypes.func
|
|
364
412
|
}), PropTypes.shape({
|
|
365
413
|
classes: PropTypes.object,
|
|
366
414
|
colorMap: PropTypes.oneOfType([PropTypes.shape({
|
|
@@ -783,6 +831,53 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
|
|
|
783
831
|
tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
784
832
|
tickSize: PropTypes.number,
|
|
785
833
|
valueFormatter: PropTypes.func
|
|
834
|
+
}), PropTypes.shape({
|
|
835
|
+
axis: PropTypes.oneOf(['x']),
|
|
836
|
+
classes: PropTypes.object,
|
|
837
|
+
colorMap: PropTypes.oneOfType([PropTypes.shape({
|
|
838
|
+
color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
|
|
839
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
840
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
841
|
+
type: PropTypes.oneOf(['continuous']).isRequired
|
|
842
|
+
}), PropTypes.shape({
|
|
843
|
+
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
844
|
+
thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
|
|
845
|
+
type: PropTypes.oneOf(['piecewise']).isRequired
|
|
846
|
+
})]),
|
|
847
|
+
constant: PropTypes.number,
|
|
848
|
+
data: PropTypes.array,
|
|
849
|
+
dataKey: PropTypes.string,
|
|
850
|
+
disableLine: PropTypes.bool,
|
|
851
|
+
disableTicks: PropTypes.bool,
|
|
852
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
853
|
+
fill: PropTypes.string,
|
|
854
|
+
height: PropTypes.number,
|
|
855
|
+
hideTooltip: PropTypes.bool,
|
|
856
|
+
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
857
|
+
ignoreTooltip: PropTypes.bool,
|
|
858
|
+
label: PropTypes.string,
|
|
859
|
+
labelStyle: PropTypes.object,
|
|
860
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
861
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
862
|
+
offset: PropTypes.number,
|
|
863
|
+
position: PropTypes.oneOf(['bottom', 'none', 'top']),
|
|
864
|
+
reverse: PropTypes.bool,
|
|
865
|
+
scaleType: PropTypes.oneOf(['symlog']),
|
|
866
|
+
slotProps: PropTypes.object,
|
|
867
|
+
slots: PropTypes.object,
|
|
868
|
+
stroke: PropTypes.string,
|
|
869
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
870
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
871
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
872
|
+
tickLabelMinGap: PropTypes.number,
|
|
873
|
+
tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
|
|
874
|
+
tickLabelStyle: PropTypes.object,
|
|
875
|
+
tickMaxStep: PropTypes.number,
|
|
876
|
+
tickMinStep: PropTypes.number,
|
|
877
|
+
tickNumber: PropTypes.number,
|
|
878
|
+
tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
879
|
+
tickSize: PropTypes.number,
|
|
880
|
+
valueFormatter: PropTypes.func
|
|
786
881
|
}), PropTypes.shape({
|
|
787
882
|
axis: PropTypes.oneOf(['x']),
|
|
788
883
|
classes: PropTypes.object,
|
|
@@ -1166,6 +1261,52 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
|
|
|
1166
1261
|
tickSize: PropTypes.number,
|
|
1167
1262
|
valueFormatter: PropTypes.func,
|
|
1168
1263
|
width: PropTypes.number
|
|
1264
|
+
}), PropTypes.shape({
|
|
1265
|
+
axis: PropTypes.oneOf(['y']),
|
|
1266
|
+
classes: PropTypes.object,
|
|
1267
|
+
colorMap: PropTypes.oneOfType([PropTypes.shape({
|
|
1268
|
+
color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
|
|
1269
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
1270
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
1271
|
+
type: PropTypes.oneOf(['continuous']).isRequired
|
|
1272
|
+
}), PropTypes.shape({
|
|
1273
|
+
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
1274
|
+
thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
|
|
1275
|
+
type: PropTypes.oneOf(['piecewise']).isRequired
|
|
1276
|
+
})]),
|
|
1277
|
+
constant: PropTypes.number,
|
|
1278
|
+
data: PropTypes.array,
|
|
1279
|
+
dataKey: PropTypes.string,
|
|
1280
|
+
disableLine: PropTypes.bool,
|
|
1281
|
+
disableTicks: PropTypes.bool,
|
|
1282
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
1283
|
+
fill: PropTypes.string,
|
|
1284
|
+
hideTooltip: PropTypes.bool,
|
|
1285
|
+
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
1286
|
+
ignoreTooltip: PropTypes.bool,
|
|
1287
|
+
label: PropTypes.string,
|
|
1288
|
+
labelStyle: PropTypes.object,
|
|
1289
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
1290
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
1291
|
+
offset: PropTypes.number,
|
|
1292
|
+
position: PropTypes.oneOf(['left', 'none', 'right']),
|
|
1293
|
+
reverse: PropTypes.bool,
|
|
1294
|
+
scaleType: PropTypes.oneOf(['symlog']),
|
|
1295
|
+
slotProps: PropTypes.object,
|
|
1296
|
+
slots: PropTypes.object,
|
|
1297
|
+
stroke: PropTypes.string,
|
|
1298
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
1299
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
1300
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
1301
|
+
tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
|
|
1302
|
+
tickLabelStyle: PropTypes.object,
|
|
1303
|
+
tickMaxStep: PropTypes.number,
|
|
1304
|
+
tickMinStep: PropTypes.number,
|
|
1305
|
+
tickNumber: PropTypes.number,
|
|
1306
|
+
tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
1307
|
+
tickSize: PropTypes.number,
|
|
1308
|
+
valueFormatter: PropTypes.func,
|
|
1309
|
+
width: PropTypes.number
|
|
1169
1310
|
}), PropTypes.shape({
|
|
1170
1311
|
axis: PropTypes.oneOf(['y']),
|
|
1171
1312
|
classes: PropTypes.object,
|
|
@@ -6,12 +6,13 @@ export interface ChartsLabelCustomMarkProps {
|
|
|
6
6
|
/** Color of the series this mark refers to. */
|
|
7
7
|
color?: string;
|
|
8
8
|
}
|
|
9
|
+
export type ChartsLabelMarkType = 'square' | 'circle' | 'line' | React.ComponentType<ChartsLabelCustomMarkProps>;
|
|
9
10
|
export interface ChartsLabelMarkProps {
|
|
10
11
|
/**
|
|
11
12
|
* The type of the mark.
|
|
12
13
|
* @default 'square'
|
|
13
14
|
*/
|
|
14
|
-
type?:
|
|
15
|
+
type?: ChartsLabelMarkType;
|
|
15
16
|
/**
|
|
16
17
|
* The color of the mark.
|
|
17
18
|
*/
|
package/esm/ChartsLabel/index.js
CHANGED
|
@@ -16,5 +16,5 @@ export interface ChartsLegendClasses {
|
|
|
16
16
|
/** Styles applied to the legend in row layout. */
|
|
17
17
|
horizontal: string;
|
|
18
18
|
}
|
|
19
|
-
export declare const useUtilityClasses: (props: ChartsLegendProps & ChartsLegendSlotExtension) => Record<"
|
|
19
|
+
export declare const useUtilityClasses: (props: ChartsLegendProps & ChartsLegendSlotExtension) => Record<"item" | "series" | "root" | "label" | "mark", string>;
|
|
20
20
|
export declare const legendClasses: ChartsLegendClasses;
|
|
@@ -24,5 +24,5 @@ export interface PiecewiseColorLegendClasses {
|
|
|
24
24
|
/** Styles applied to the series label. */
|
|
25
25
|
label: string;
|
|
26
26
|
}
|
|
27
|
-
export declare const useUtilityClasses: (props: PiecewiseColorLegendProps & ChartsLegendSlotExtension) => Record<"
|
|
27
|
+
export declare const useUtilityClasses: (props: PiecewiseColorLegendProps & ChartsLegendSlotExtension) => Record<"item" | "root" | "label" | "mark" | "minLabel" | "maxLabel", string>;
|
|
28
28
|
export declare const piecewiseColorLegendClasses: PiecewiseColorLegendClasses;
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SxProps, Theme } from '@mui/material/styles';
|
|
3
|
-
import { Direction } from "
|
|
4
|
-
import { Position } from "
|
|
3
|
+
import { Direction } from "../ChartsLegend/index.js";
|
|
4
|
+
import { Position } from "../models/index.js";
|
|
5
5
|
export interface ChartsWrapperProps {
|
|
6
|
+
/**
|
|
7
|
+
* The position of the legend.
|
|
8
|
+
* @default { horizontal: 'center', vertical: 'bottom' }
|
|
9
|
+
*/
|
|
6
10
|
legendPosition?: Position;
|
|
11
|
+
/**
|
|
12
|
+
* The direction of the legend.
|
|
13
|
+
* @default 'horizontal'
|
|
14
|
+
*/
|
|
7
15
|
legendDirection?: Direction;
|
|
8
16
|
/**
|
|
9
17
|
* If `true`, the chart wrapper set `height: 100%`.
|
|
@@ -14,10 +22,11 @@ export interface ChartsWrapperProps {
|
|
|
14
22
|
sx?: SxProps<Theme>;
|
|
15
23
|
}
|
|
16
24
|
/**
|
|
17
|
-
* @ignore - internal component.
|
|
18
|
-
*
|
|
19
25
|
* Wrapper for the charts components.
|
|
20
26
|
* Its main purpose is to position the HTML legend in the correct place.
|
|
21
27
|
*/
|
|
22
28
|
declare function ChartsWrapper(props: ChartsWrapperProps): React.JSX.Element;
|
|
29
|
+
declare namespace ChartsWrapper {
|
|
30
|
+
var propTypes: any;
|
|
31
|
+
}
|
|
23
32
|
export { ChartsWrapper };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
2
3
|
import { styled } from '@mui/material/styles';
|
|
3
4
|
import { shouldForwardProp } from '@mui/system/createStyled';
|
|
4
|
-
import { useChartRootRef } from "
|
|
5
|
-
import { useStore } from "
|
|
6
|
-
import { useSelector } from "
|
|
7
|
-
import { selectorChartPropsSize } from "
|
|
5
|
+
import { useChartRootRef } from "../hooks/useChartRootRef.js";
|
|
6
|
+
import { useStore } from "../internals/store/useStore.js";
|
|
7
|
+
import { useSelector } from "../internals/store/useSelector.js";
|
|
8
|
+
import { selectorChartPropsSize } from "../internals/plugins/corePlugins/useChartDimensions/index.js";
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
const getDirection = (direction, position) => {
|
|
10
11
|
if (direction === 'vertical') {
|
|
@@ -60,8 +61,6 @@ const Root = styled('div', {
|
|
|
60
61
|
}));
|
|
61
62
|
|
|
62
63
|
/**
|
|
63
|
-
* @ignore - internal component.
|
|
64
|
-
*
|
|
65
64
|
* Wrapper for the charts components.
|
|
66
65
|
* Its main purpose is to position the HTML legend in the correct place.
|
|
67
66
|
*/
|
|
@@ -84,4 +83,30 @@ function ChartsWrapper(props) {
|
|
|
84
83
|
children: children
|
|
85
84
|
});
|
|
86
85
|
}
|
|
86
|
+
process.env.NODE_ENV !== "production" ? ChartsWrapper.propTypes = {
|
|
87
|
+
// ----------------------------- Warning --------------------------------
|
|
88
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
89
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
90
|
+
// ----------------------------------------------------------------------
|
|
91
|
+
children: PropTypes.node,
|
|
92
|
+
/**
|
|
93
|
+
* If `true`, the chart wrapper set `height: 100%`.
|
|
94
|
+
* @default `false` if the `height` prop is set. And `true` otherwise.
|
|
95
|
+
*/
|
|
96
|
+
extendVertically: PropTypes.bool,
|
|
97
|
+
/**
|
|
98
|
+
* The direction of the legend.
|
|
99
|
+
* @default 'horizontal'
|
|
100
|
+
*/
|
|
101
|
+
legendDirection: PropTypes.oneOf(['horizontal', 'vertical']),
|
|
102
|
+
/**
|
|
103
|
+
* The position of the legend.
|
|
104
|
+
* @default { horizontal: 'center', vertical: 'bottom' }
|
|
105
|
+
*/
|
|
106
|
+
legendPosition: PropTypes.shape({
|
|
107
|
+
horizontal: PropTypes.oneOf(['center', 'end', 'start']),
|
|
108
|
+
vertical: PropTypes.oneOf(['bottom', 'middle', 'top'])
|
|
109
|
+
}),
|
|
110
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
|
|
111
|
+
} : void 0;
|
|
87
112
|
export { ChartsWrapper };
|
|
@@ -18,12 +18,13 @@ import { LineChartPluginsSignatures } from "./LineChart.plugins.js";
|
|
|
18
18
|
import { ChartsToolbarSlots, ChartsToolbarSlotProps } from "../Toolbar/index.js";
|
|
19
19
|
export interface LineChartSlots extends ChartsAxisSlots, AreaPlotSlots, LinePlotSlots, MarkPlotSlots, LineHighlightPlotSlots, ChartsLegendSlots, ChartsOverlaySlots, ChartsTooltipSlots, ChartsToolbarSlots, Partial<ChartsSlots> {}
|
|
20
20
|
export interface LineChartSlotProps extends ChartsAxisSlotProps, AreaPlotSlotProps, LinePlotSlotProps, MarkPlotSlotProps, LineHighlightPlotSlotProps, ChartsLegendSlotProps, ChartsOverlaySlotProps, ChartsTooltipSlotProps, ChartsToolbarSlotProps, Partial<ChartsSlotProps> {}
|
|
21
|
+
export type LineSeries = MakeOptional<LineSeriesType, 'type'>;
|
|
21
22
|
export interface LineChartProps extends Omit<ChartContainerProps<'line', LineChartPluginsSignatures>, 'series' | 'plugins' | 'zAxis'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
|
|
22
23
|
/**
|
|
23
24
|
* The series to display in the line chart.
|
|
24
|
-
* An array of [[
|
|
25
|
+
* An array of [[LineSeries]] objects.
|
|
25
26
|
*/
|
|
26
|
-
series: Readonly<
|
|
27
|
+
series: Readonly<LineSeries[]>;
|
|
27
28
|
/**
|
|
28
29
|
* Option to display a cartesian grid in the background.
|
|
29
30
|
*/
|
|
@@ -19,7 +19,7 @@ import { useLineChartProps } from "./useLineChartProps.js";
|
|
|
19
19
|
import { useChartContainerProps } from "../ChartContainer/useChartContainerProps.js";
|
|
20
20
|
import { ChartDataProvider } from "../ChartDataProvider/index.js";
|
|
21
21
|
import { ChartsSurface } from "../ChartsSurface/index.js";
|
|
22
|
-
import { ChartsWrapper } from "../
|
|
22
|
+
import { ChartsWrapper } from "../ChartsWrapper/index.js";
|
|
23
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
24
|
/**
|
|
25
25
|
* Demos:
|
|
@@ -209,7 +209,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
209
209
|
onMarkClick: PropTypes.func,
|
|
210
210
|
/**
|
|
211
211
|
* The series to display in the line chart.
|
|
212
|
-
* An array of [[
|
|
212
|
+
* An array of [[LineSeries]] objects.
|
|
213
213
|
*/
|
|
214
214
|
series: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
215
215
|
/**
|
|
@@ -394,6 +394,53 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
394
394
|
tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
395
395
|
tickSize: PropTypes.number,
|
|
396
396
|
valueFormatter: PropTypes.func
|
|
397
|
+
}), PropTypes.shape({
|
|
398
|
+
axis: PropTypes.oneOf(['x']),
|
|
399
|
+
classes: PropTypes.object,
|
|
400
|
+
colorMap: PropTypes.oneOfType([PropTypes.shape({
|
|
401
|
+
color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
|
|
402
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
403
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
404
|
+
type: PropTypes.oneOf(['continuous']).isRequired
|
|
405
|
+
}), PropTypes.shape({
|
|
406
|
+
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
407
|
+
thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
|
|
408
|
+
type: PropTypes.oneOf(['piecewise']).isRequired
|
|
409
|
+
})]),
|
|
410
|
+
constant: PropTypes.number,
|
|
411
|
+
data: PropTypes.array,
|
|
412
|
+
dataKey: PropTypes.string,
|
|
413
|
+
disableLine: PropTypes.bool,
|
|
414
|
+
disableTicks: PropTypes.bool,
|
|
415
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
416
|
+
fill: PropTypes.string,
|
|
417
|
+
height: PropTypes.number,
|
|
418
|
+
hideTooltip: PropTypes.bool,
|
|
419
|
+
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
420
|
+
ignoreTooltip: PropTypes.bool,
|
|
421
|
+
label: PropTypes.string,
|
|
422
|
+
labelStyle: PropTypes.object,
|
|
423
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
424
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
425
|
+
offset: PropTypes.number,
|
|
426
|
+
position: PropTypes.oneOf(['bottom', 'none', 'top']),
|
|
427
|
+
reverse: PropTypes.bool,
|
|
428
|
+
scaleType: PropTypes.oneOf(['symlog']),
|
|
429
|
+
slotProps: PropTypes.object,
|
|
430
|
+
slots: PropTypes.object,
|
|
431
|
+
stroke: PropTypes.string,
|
|
432
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
433
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
434
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
435
|
+
tickLabelMinGap: PropTypes.number,
|
|
436
|
+
tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
|
|
437
|
+
tickLabelStyle: PropTypes.object,
|
|
438
|
+
tickMaxStep: PropTypes.number,
|
|
439
|
+
tickMinStep: PropTypes.number,
|
|
440
|
+
tickNumber: PropTypes.number,
|
|
441
|
+
tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
442
|
+
tickSize: PropTypes.number,
|
|
443
|
+
valueFormatter: PropTypes.func
|
|
397
444
|
}), PropTypes.shape({
|
|
398
445
|
axis: PropTypes.oneOf(['x']),
|
|
399
446
|
classes: PropTypes.object,
|
|
@@ -777,6 +824,52 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
777
824
|
tickSize: PropTypes.number,
|
|
778
825
|
valueFormatter: PropTypes.func,
|
|
779
826
|
width: PropTypes.number
|
|
827
|
+
}), PropTypes.shape({
|
|
828
|
+
axis: PropTypes.oneOf(['y']),
|
|
829
|
+
classes: PropTypes.object,
|
|
830
|
+
colorMap: PropTypes.oneOfType([PropTypes.shape({
|
|
831
|
+
color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
|
|
832
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
833
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
834
|
+
type: PropTypes.oneOf(['continuous']).isRequired
|
|
835
|
+
}), PropTypes.shape({
|
|
836
|
+
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
837
|
+
thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
|
|
838
|
+
type: PropTypes.oneOf(['piecewise']).isRequired
|
|
839
|
+
})]),
|
|
840
|
+
constant: PropTypes.number,
|
|
841
|
+
data: PropTypes.array,
|
|
842
|
+
dataKey: PropTypes.string,
|
|
843
|
+
disableLine: PropTypes.bool,
|
|
844
|
+
disableTicks: PropTypes.bool,
|
|
845
|
+
domainLimit: PropTypes.oneOfType([PropTypes.oneOf(['nice', 'strict']), PropTypes.func]),
|
|
846
|
+
fill: PropTypes.string,
|
|
847
|
+
hideTooltip: PropTypes.bool,
|
|
848
|
+
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
849
|
+
ignoreTooltip: PropTypes.bool,
|
|
850
|
+
label: PropTypes.string,
|
|
851
|
+
labelStyle: PropTypes.object,
|
|
852
|
+
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
853
|
+
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
854
|
+
offset: PropTypes.number,
|
|
855
|
+
position: PropTypes.oneOf(['left', 'none', 'right']),
|
|
856
|
+
reverse: PropTypes.bool,
|
|
857
|
+
scaleType: PropTypes.oneOf(['symlog']),
|
|
858
|
+
slotProps: PropTypes.object,
|
|
859
|
+
slots: PropTypes.object,
|
|
860
|
+
stroke: PropTypes.string,
|
|
861
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
862
|
+
tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
|
|
863
|
+
tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
|
|
864
|
+
tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
|
|
865
|
+
tickLabelStyle: PropTypes.object,
|
|
866
|
+
tickMaxStep: PropTypes.number,
|
|
867
|
+
tickMinStep: PropTypes.number,
|
|
868
|
+
tickNumber: PropTypes.number,
|
|
869
|
+
tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
|
|
870
|
+
tickSize: PropTypes.number,
|
|
871
|
+
valueFormatter: PropTypes.func,
|
|
872
|
+
width: PropTypes.number
|
|
780
873
|
}), PropTypes.shape({
|
|
781
874
|
axis: PropTypes.oneOf(['y']),
|
|
782
875
|
classes: PropTypes.object,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { findMinMax } from "../../internals/findMinMax.js";
|
|
1
2
|
export const getExtremumX = params => {
|
|
2
3
|
const {
|
|
3
4
|
axis
|
|
4
5
|
} = params;
|
|
5
|
-
|
|
6
|
-
const maxX = Math.max(...(axis.data ?? []));
|
|
7
|
-
return [minX, maxX];
|
|
6
|
+
return findMinMax(axis.data ?? []);
|
|
8
7
|
};
|
|
9
8
|
function getSeriesExtremums(getValues, data, stackedData, filter) {
|
|
10
9
|
return stackedData.reduce((seriesAcc, stackedValue, index) => {
|
|
@@ -11,7 +11,7 @@ import type { LineChartProps } from "./LineChart.js";
|
|
|
11
11
|
import { LineHighlightPlotProps } from "./LineHighlightPlot.js";
|
|
12
12
|
import { LinePlotProps } from "./LinePlot.js";
|
|
13
13
|
import { MarkPlotProps } from "./MarkPlot.js";
|
|
14
|
-
import type { ChartsWrapperProps } from "../
|
|
14
|
+
import type { ChartsWrapperProps } from "../ChartsWrapper/index.js";
|
|
15
15
|
import { LineChartPluginsSignatures } from "./LineChart.plugins.js";
|
|
16
16
|
/**
|
|
17
17
|
* A helper function that extracts LineChartProps from the input props
|
|
@@ -145,6 +145,9 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
|
|
|
145
145
|
outerRadius: PropTypes.number,
|
|
146
146
|
paddingAngle: PropTypes.number
|
|
147
147
|
}),
|
|
148
|
+
/**
|
|
149
|
+
* The id of this series.
|
|
150
|
+
*/
|
|
148
151
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
149
152
|
/**
|
|
150
153
|
* The radius between circle center and the beginning of the arc.
|
|
@@ -116,6 +116,9 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
|
|
|
116
116
|
outerRadius: PropTypes.number,
|
|
117
117
|
paddingAngle: PropTypes.number
|
|
118
118
|
}),
|
|
119
|
+
/**
|
|
120
|
+
* The id of this series.
|
|
121
|
+
*/
|
|
119
122
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
120
123
|
/**
|
|
121
124
|
* The radius between circle center and the beginning of the arc.
|
|
@@ -12,12 +12,13 @@ import { ChartsOverlayProps, ChartsOverlaySlotProps, ChartsOverlaySlots } from "
|
|
|
12
12
|
import { PieChartPluginSignatures } from "./PieChart.plugins.js";
|
|
13
13
|
export interface PieChartSlots extends PiePlotSlots, ChartsLegendSlots, ChartsOverlaySlots, ChartsTooltipSlots, ChartsToolbarSlots, Partial<ChartsSlots> {}
|
|
14
14
|
export interface PieChartSlotProps extends PiePlotSlotProps, ChartsLegendSlotProps, ChartsOverlaySlotProps, ChartsTooltipSlotProps, ChartsToolbarSlotProps, Partial<ChartsSlotProps> {}
|
|
15
|
+
export type PieSeries = MakeOptional<PieSeriesType<MakeOptional<PieValueType, 'id'>>, 'type'>;
|
|
15
16
|
export interface PieChartProps extends Omit<ChartContainerProps<'pie', PieChartPluginSignatures>, 'series' | 'slots' | 'slotProps' | 'experimentalFeatures'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, Pick<PiePlotProps, 'skipAnimation'> {
|
|
16
17
|
/**
|
|
17
18
|
* The series to display in the pie chart.
|
|
18
|
-
* An array of [[
|
|
19
|
+
* An array of [[PieSeries]] objects.
|
|
19
20
|
*/
|
|
20
|
-
series: Readonly<
|
|
21
|
+
series: Readonly<PieSeries[]>;
|
|
21
22
|
/**
|
|
22
23
|
* If `true`, the legend is not rendered.
|
|
23
24
|
*/
|
package/esm/PieChart/PieChart.js
CHANGED
|
@@ -14,7 +14,7 @@ import { ChartsOverlay } from "../ChartsOverlay/index.js";
|
|
|
14
14
|
import { ChartsSurface } from "../ChartsSurface/index.js";
|
|
15
15
|
import { ChartDataProvider } from "../ChartDataProvider/index.js";
|
|
16
16
|
import { useChartContainerProps } from "../ChartContainer/useChartContainerProps.js";
|
|
17
|
-
import { ChartsWrapper } from "../
|
|
17
|
+
import { ChartsWrapper } from "../ChartsWrapper/index.js";
|
|
18
18
|
import { PIE_CHART_PLUGINS } from "./PieChart.plugins.js";
|
|
19
19
|
import { defaultizeMargin } from "../internals/defaultizeMargin.js";
|
|
20
20
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -173,7 +173,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
173
173
|
onItemClick: PropTypes.func,
|
|
174
174
|
/**
|
|
175
175
|
* The series to display in the pie chart.
|
|
176
|
-
* An array of [[
|
|
176
|
+
* An array of [[PieSeries]] objects.
|
|
177
177
|
*/
|
|
178
178
|
series: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
179
179
|
/**
|
|
@@ -9,4 +9,4 @@ export interface PieClasses {
|
|
|
9
9
|
export type PieClassKey = keyof PieClasses;
|
|
10
10
|
export declare function getPieUtilityClass(slot: string): string;
|
|
11
11
|
export declare const pieClasses: PieClasses;
|
|
12
|
-
export declare const useUtilityClasses: (classes?: Partial<PieClasses>) => Record<"
|
|
12
|
+
export declare const useUtilityClasses: (classes?: Partial<PieClasses>) => Record<"series" | "root" | "seriesLabels", string>;
|
|
@@ -54,13 +54,11 @@ function RadarAxisHighlight(props) {
|
|
|
54
54
|
className: classes.line,
|
|
55
55
|
pointerEvents: "none",
|
|
56
56
|
strokeDasharray: "4 4"
|
|
57
|
-
}), points.map(({
|
|
58
|
-
highlighted
|
|
59
|
-
}, seriesIndex) => {
|
|
57
|
+
}), points.map((point, seriesIndex) => {
|
|
60
58
|
return /*#__PURE__*/_jsx("circle", _extends({
|
|
61
59
|
fill: series[seriesIndex].color,
|
|
62
|
-
cx:
|
|
63
|
-
cy:
|
|
60
|
+
cx: point.x,
|
|
61
|
+
cy: point.y,
|
|
64
62
|
className: classes.dot,
|
|
65
63
|
pointerEvents: "none"
|
|
66
64
|
}, series[seriesIndex].hideMark ? highlightMark : highlightMarkShadow), series[seriesIndex].id);
|
|
@@ -2,12 +2,6 @@ import { UseChartPolarAxisSignature } from "../../internals/plugins/featurePlugi
|
|
|
2
2
|
import { AxisId } from "../../models/axis.js";
|
|
3
3
|
import { DefaultizedRadarSeriesType } from "../../models/seriesType/radar.js";
|
|
4
4
|
import { ChartInstance } from "../../internals/plugins/models/index.js";
|
|
5
|
-
interface UseRadarAxisHighlightParams {
|
|
6
|
-
/**
|
|
7
|
-
* If true, coordinates of the previous/next point will be added.
|
|
8
|
-
*/
|
|
9
|
-
includesNeighbors?: boolean;
|
|
10
|
-
}
|
|
11
5
|
interface UseRadarAxisHighlightReturnValue {
|
|
12
6
|
/**
|
|
13
7
|
* The radar center.
|
|
@@ -40,7 +34,7 @@ interface UseRadarAxisHighlightReturnValue {
|
|
|
40
34
|
* The { x, y, value } values for the highlighted points in the same order as the `series` array.
|
|
41
35
|
* If `includesNeighbors` is set to `true` it also contains the information for `previous` and `next` data point.
|
|
42
36
|
*/
|
|
43
|
-
points:
|
|
37
|
+
points: Point[];
|
|
44
38
|
/**
|
|
45
39
|
* Charts instances giving access to `polar2svg` and `svg2polar` helpers.
|
|
46
40
|
*/
|
|
@@ -53,10 +47,5 @@ interface Point {
|
|
|
53
47
|
angle: number;
|
|
54
48
|
value: number;
|
|
55
49
|
}
|
|
56
|
-
|
|
57
|
-
highlighted: Point;
|
|
58
|
-
previous?: Point;
|
|
59
|
-
next?: Point;
|
|
60
|
-
}
|
|
61
|
-
export declare function useRadarAxisHighlight(params?: UseRadarAxisHighlightParams): UseRadarAxisHighlightReturnValue | null;
|
|
50
|
+
export declare function useRadarAxisHighlight(): UseRadarAxisHighlightReturnValue | null;
|
|
62
51
|
export {};
|
|
@@ -6,10 +6,7 @@ import { useStore } from "../../internals/store/useStore.js";
|
|
|
6
6
|
import { useChartContext } from "../../context/ChartProvider/useChartContext.js";
|
|
7
7
|
import { selectorChartPolarCenter } from "../../internals/plugins/featurePlugins/useChartPolarAxis/index.js";
|
|
8
8
|
import { selectorChartsInteractionRotationAxisIndex, selectorChartsInteractionRotationAxisValue } from "../../internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js";
|
|
9
|
-
export function useRadarAxisHighlight(
|
|
10
|
-
const {
|
|
11
|
-
includesNeighbors = false
|
|
12
|
-
} = params ?? {};
|
|
9
|
+
export function useRadarAxisHighlight() {
|
|
13
10
|
const radarSeries = useRadarSeries();
|
|
14
11
|
const rotationScale = useRotationScale();
|
|
15
12
|
const {
|
|
@@ -49,48 +46,14 @@ export function useRadarAxisHighlight(params) {
|
|
|
49
46
|
const value = series.data[highlightedIndex];
|
|
50
47
|
const r = radiusScale(value);
|
|
51
48
|
const [x, y] = instance.polar2svg(r, angle);
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
value
|
|
59
|
-
}
|
|
49
|
+
const returnedValue = {
|
|
50
|
+
x,
|
|
51
|
+
y,
|
|
52
|
+
r,
|
|
53
|
+
angle,
|
|
54
|
+
value
|
|
60
55
|
};
|
|
61
|
-
|
|
62
|
-
return retrunedValue;
|
|
63
|
-
}
|
|
64
|
-
const dataLength = series.data.length;
|
|
65
|
-
const prevIndex = (dataLength + highlightedIndex - 1) % dataLength;
|
|
66
|
-
const nextIndex = (highlightedIndex + 1) % dataLength;
|
|
67
|
-
const prevValue = series.data[prevIndex];
|
|
68
|
-
const nextValue = series.data[nextIndex];
|
|
69
|
-
if (prevValue != null) {
|
|
70
|
-
const prevR = radiusAxis[radiusAxisIds[prevIndex]].scale(prevValue);
|
|
71
|
-
const prevAngle = rotationScale(rotationScale.domain()[prevIndex]);
|
|
72
|
-
const [px, py] = instance.polar2svg(prevR, prevAngle);
|
|
73
|
-
retrunedValue.previous = {
|
|
74
|
-
x: px,
|
|
75
|
-
y: py,
|
|
76
|
-
r: prevR,
|
|
77
|
-
angle: prevAngle,
|
|
78
|
-
value: prevValue
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
if (nextValue != null) {
|
|
82
|
-
const nextR = radiusAxis[radiusAxisIds[nextIndex]].scale(nextValue);
|
|
83
|
-
const nextAngle = rotationScale(rotationScale.domain()[nextIndex]);
|
|
84
|
-
const [nx, ny] = instance.polar2svg(nextR, nextAngle);
|
|
85
|
-
retrunedValue.next = {
|
|
86
|
-
x: nx,
|
|
87
|
-
y: ny,
|
|
88
|
-
r: nextR,
|
|
89
|
-
angle: nextAngle,
|
|
90
|
-
value: nextValue
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
return retrunedValue;
|
|
56
|
+
return returnedValue;
|
|
94
57
|
})
|
|
95
58
|
};
|
|
96
59
|
}
|