@mantine/charts 7.10.2 → 7.11.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.
- package/cjs/AreaChart/AreaChart.cjs +45 -9
- package/cjs/AreaChart/AreaChart.cjs.map +1 -1
- package/cjs/BarChart/BarChart.cjs +44 -9
- package/cjs/BarChart/BarChart.cjs.map +1 -1
- package/cjs/BubbleChart/BubbleChart.cjs +148 -0
- package/cjs/BubbleChart/BubbleChart.cjs.map +1 -0
- package/cjs/ChartLegend/ChartLegend.cjs +11 -1
- package/cjs/ChartLegend/ChartLegend.cjs.map +1 -1
- package/cjs/ChartTooltip/ChartTooltip.cjs +4 -2
- package/cjs/ChartTooltip/ChartTooltip.cjs.map +1 -1
- package/cjs/LineChart/LineChart.cjs +81 -15
- package/cjs/LineChart/LineChart.cjs.map +1 -1
- package/cjs/RadarChart/RadarChart.cjs +31 -1
- package/cjs/RadarChart/RadarChart.cjs.map +1 -1
- package/cjs/grid-chart.module.css.cjs +1 -1
- package/cjs/index.cjs +2 -0
- package/cjs/index.cjs.map +1 -1
- package/esm/AreaChart/AreaChart.mjs +45 -9
- package/esm/AreaChart/AreaChart.mjs.map +1 -1
- package/esm/BarChart/BarChart.mjs +44 -9
- package/esm/BarChart/BarChart.mjs.map +1 -1
- package/esm/BubbleChart/BubbleChart.mjs +146 -0
- package/esm/BubbleChart/BubbleChart.mjs.map +1 -0
- package/esm/ChartLegend/ChartLegend.mjs +11 -1
- package/esm/ChartLegend/ChartLegend.mjs.map +1 -1
- package/esm/ChartTooltip/ChartTooltip.mjs +4 -2
- package/esm/ChartTooltip/ChartTooltip.mjs.map +1 -1
- package/esm/LineChart/LineChart.mjs +81 -15
- package/esm/LineChart/LineChart.mjs.map +1 -1
- package/esm/RadarChart/RadarChart.mjs +33 -3
- package/esm/RadarChart/RadarChart.mjs.map +1 -1
- package/esm/grid-chart.module.css.mjs +1 -1
- package/esm/index.mjs +1 -0
- package/esm/index.mjs.map +1 -1
- package/lib/BubbleChart/BubbleChart.d.ts +53 -0
- package/lib/BubbleChart/index.d.ts +2 -0
- package/lib/ChartLegend/ChartLegend.d.ts +2 -0
- package/lib/ChartTooltip/ChartTooltip.d.ts +2 -0
- package/lib/LineChart/LineChart.d.ts +10 -1
- package/lib/RadarChart/RadarChart.d.ts +5 -1
- package/lib/index.d.mts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/types.d.ts +7 -0
- package/package.json +5 -5
- package/styles.css +20 -0
- package/styles.layer.css +20 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { Radar, ResponsiveContainer, RadarChart as RadarChart$1, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Legend } from 'recharts';
|
|
5
|
+
import { createVarsResolver, getThemeColor, factory, useProps, useMantineTheme, useStyles, useResolvedStylesApi, Box } from '@mantine/core';
|
|
6
|
+
import { ChartLegend } from '../ChartLegend/ChartLegend.mjs';
|
|
5
7
|
import classes from './RadarChart.module.css.mjs';
|
|
6
8
|
|
|
7
9
|
const defaultProps = {
|
|
@@ -38,6 +40,8 @@ const RadarChart = factory((_props, ref) => {
|
|
|
38
40
|
withPolarAngleAxis,
|
|
39
41
|
withPolarRadiusAxis,
|
|
40
42
|
children,
|
|
43
|
+
withLegend,
|
|
44
|
+
legendProps,
|
|
41
45
|
...others
|
|
42
46
|
} = props;
|
|
43
47
|
const theme = useMantineTheme();
|
|
@@ -53,6 +57,12 @@ const RadarChart = factory((_props, ref) => {
|
|
|
53
57
|
vars,
|
|
54
58
|
varsResolver
|
|
55
59
|
});
|
|
60
|
+
const [highlightedArea, setHighlightedArea] = useState(null);
|
|
61
|
+
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
|
|
62
|
+
classNames,
|
|
63
|
+
styles,
|
|
64
|
+
props
|
|
65
|
+
});
|
|
56
66
|
const radars = series.map((item, index) => /* @__PURE__ */ jsx(
|
|
57
67
|
Radar,
|
|
58
68
|
{
|
|
@@ -60,7 +70,8 @@ const RadarChart = factory((_props, ref) => {
|
|
|
60
70
|
dataKey: item.name,
|
|
61
71
|
stroke: getThemeColor(item.strokeColor || item.color, theme),
|
|
62
72
|
fill: getThemeColor(item.color, theme),
|
|
63
|
-
fillOpacity: item.opacity || 0.4,
|
|
73
|
+
fillOpacity: highlightedArea ? highlightedArea === item.name ? item.opacity || 0.4 : 0.05 : item.opacity || 0.4,
|
|
74
|
+
strokeOpacity: highlightedArea ? highlightedArea === item.name ? 1 : 0.1 : 1,
|
|
64
75
|
isAnimationActive: false,
|
|
65
76
|
...typeof radarProps === "function" ? radarProps(item) : radarProps
|
|
66
77
|
},
|
|
@@ -71,6 +82,25 @@ const RadarChart = factory((_props, ref) => {
|
|
|
71
82
|
withPolarAngleAxis && /* @__PURE__ */ jsx(PolarAngleAxis, { dataKey, ...polarAngleAxisProps }),
|
|
72
83
|
withPolarRadiusAxis && /* @__PURE__ */ jsx(PolarRadiusAxis, { stroke: "var(--chart-grid-color)", ...polarRadiusAxisProps }),
|
|
73
84
|
radars,
|
|
85
|
+
withLegend && /* @__PURE__ */ jsx(
|
|
86
|
+
Legend,
|
|
87
|
+
{
|
|
88
|
+
verticalAlign: "bottom",
|
|
89
|
+
content: (payload) => /* @__PURE__ */ jsx(
|
|
90
|
+
ChartLegend,
|
|
91
|
+
{
|
|
92
|
+
payload: payload.payload,
|
|
93
|
+
onHighlight: setHighlightedArea,
|
|
94
|
+
legendPosition: legendProps?.verticalAlign || "bottom",
|
|
95
|
+
classNames: resolvedClassNames,
|
|
96
|
+
styles: resolvedStyles,
|
|
97
|
+
series,
|
|
98
|
+
centered: true
|
|
99
|
+
}
|
|
100
|
+
),
|
|
101
|
+
...legendProps
|
|
102
|
+
}
|
|
103
|
+
),
|
|
74
104
|
children
|
|
75
105
|
] }) }) });
|
|
76
106
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadarChart.mjs","sources":["../../src/RadarChart/RadarChart.tsx"],"sourcesContent":["import {\n PolarAngleAxis,\n PolarAngleAxisProps,\n PolarGrid,\n PolarGridProps,\n PolarRadiusAxis,\n PolarRadiusAxisProps,\n Radar,\n RadarProps,\n RadarChart as ReChartsRadarChart,\n ResponsiveContainer,\n} from 'recharts';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n StylesApiProps,\n useMantineTheme,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport classes from './RadarChart.module.css';\n\nexport interface RadarChartSeries {\n name: string;\n color: MantineColor;\n strokeColor?: MantineColor;\n opacity?: number;\n}\n\nexport type RadarChartStylesNames = 'root' | 'container';\nexport type RadarChartCssVariables = {\n root: '--chart-grid-color' | '--chart-text-color';\n};\n\nexport interface RadarChartProps\n extends BoxProps,\n StylesApiProps<RadarChartFactory>,\n ElementProps<'div'> {\n /** Data used in the chart */\n data: Record<string, any>[];\n\n /** Determines which data should be consumed from the `data` array. */\n series: RadarChartSeries[];\n\n /** Key of the `data` object for axis values */\n dataKey: string;\n\n /** Controls color of the grid lines. By default, color depends on the color scheme. */\n gridColor?: MantineColor;\n\n /** Controls color of all text elements. By default, color depends on the color scheme. */\n textColor?: MantineColor;\n\n /** Determines whether PolarGrid component should be displayed, `true` by default. */\n withPolarGrid?: boolean;\n\n /** Determines whether PolarAngleAxis component should be displayed, `true` by default */\n withPolarAngleAxis?: boolean;\n\n /** Determines whether PolarRadiusAxisProps component should be displayed, `false` by default */\n withPolarRadiusAxis?: boolean;\n\n /** Props passed down to recharts Radar component */\n radarProps?: ((series: RadarChartSeries) => Omit<RadarProps, 'ref'>) | Omit<RadarProps, 'ref'>;\n\n /** Props passed down to recharts RadarChart component */\n radarChartProps?: React.ComponentPropsWithoutRef<typeof ReChartsRadarChart>;\n\n /** Props passed down to recharts PolarGrid component */\n polarGridProps?: Omit<PolarGridProps, 'ref'>;\n\n /** Props passed down to recharts PolarAngleAxis component */\n polarAngleAxisProps?: Omit<PolarAngleAxisProps, 'ref'>;\n\n /** Props passed down to recharts PolarRadiusAxis component */\n polarRadiusAxisProps?: Omit<PolarRadiusAxisProps, 'ref'>;\n\n /** Additional components that are rendered inside recharts `RadarChart` component */\n children?: React.ReactNode;\n}\n\nexport type RadarChartFactory = Factory<{\n props: RadarChartProps;\n ref: HTMLDivElement;\n stylesNames: RadarChartStylesNames;\n vars: RadarChartCssVariables;\n}>;\n\nconst defaultProps: Partial<RadarChartProps> = {\n withPolarGrid: true,\n withPolarAngleAxis: true,\n withPolarRadiusAxis: false,\n};\n\nconst varsResolver = createVarsResolver<RadarChartFactory>((theme, { gridColor, textColor }) => ({\n root: {\n '--chart-grid-color': gridColor ? getThemeColor(gridColor, theme) : undefined,\n '--chart-text-color': textColor ? getThemeColor(textColor, theme) : undefined,\n },\n}));\n\nexport const RadarChart = factory<RadarChartFactory>((_props, ref) => {\n const props = useProps('RadarChart', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n data,\n series,\n dataKey,\n gridColor,\n textColor,\n radarProps,\n radarChartProps,\n polarGridProps,\n polarAngleAxisProps,\n polarRadiusAxisProps,\n withPolarGrid,\n withPolarAngleAxis,\n withPolarRadiusAxis,\n children,\n ...others\n } = props;\n\n const theme = useMantineTheme();\n\n const getStyles = useStyles<RadarChartFactory>({\n name: 'RadarChart',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const radars = series.map((item, index) => (\n <Radar\n key={index}\n name={item.name}\n dataKey={item.name}\n stroke={getThemeColor(item.strokeColor || item.color, theme)}\n fill={getThemeColor(item.color, theme)}\n fillOpacity={item.opacity || 0.4}\n isAnimationActive={false}\n {...(typeof radarProps === 'function' ? radarProps(item) : radarProps)}\n />\n ));\n\n return (\n <Box ref={ref} {...getStyles('root')} {...others}>\n <ResponsiveContainer {...getStyles('container')}>\n <ReChartsRadarChart data={data} {...radarChartProps}>\n {withPolarGrid && <PolarGrid stroke=\"var(--chart-grid-color)\" {...polarGridProps} />}\n {withPolarAngleAxis && <PolarAngleAxis dataKey={dataKey} {...polarAngleAxisProps} />}\n {withPolarRadiusAxis && (\n <PolarRadiusAxis stroke=\"var(--chart-grid-color)\" {...polarRadiusAxisProps} />\n )}\n {radars}\n {children}\n </ReChartsRadarChart>\n </ResponsiveContainer>\n </Box>\n );\n});\n\nRadarChart.displayName = '@mantine/charts/RadarChart';\nRadarChart.classes = classes;\n"],"names":["ReChartsRadarChart"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RadarChart.mjs","sources":["../../src/RadarChart/RadarChart.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Legend,\n LegendProps,\n PolarAngleAxis,\n PolarAngleAxisProps,\n PolarGrid,\n PolarGridProps,\n PolarRadiusAxis,\n PolarRadiusAxisProps,\n Radar,\n RadarProps,\n RadarChart as ReChartsRadarChart,\n ResponsiveContainer,\n} from 'recharts';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n StylesApiProps,\n useMantineTheme,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '@mantine/core';\nimport { ChartLegend } from '../ChartLegend';\nimport classes from './RadarChart.module.css';\n\nexport interface RadarChartSeries {\n name: string;\n color: MantineColor;\n strokeColor?: MantineColor;\n opacity?: number;\n}\n\nexport type RadarChartStylesNames = 'root' | 'container';\nexport type RadarChartCssVariables = {\n root: '--chart-grid-color' | '--chart-text-color';\n};\n\nexport interface RadarChartProps\n extends BoxProps,\n StylesApiProps<RadarChartFactory>,\n ElementProps<'div'> {\n /** Data used in the chart */\n data: Record<string, any>[];\n\n /** Determines which data should be consumed from the `data` array. */\n series: RadarChartSeries[];\n\n /** Key of the `data` object for axis values */\n dataKey: string;\n\n /** Controls color of the grid lines. By default, color depends on the color scheme. */\n gridColor?: MantineColor;\n\n /** Controls color of all text elements. By default, color depends on the color scheme. */\n textColor?: MantineColor;\n\n /** Determines whether PolarGrid component should be displayed, `true` by default. */\n withPolarGrid?: boolean;\n\n /** Determines whether PolarAngleAxis component should be displayed, `true` by default */\n withPolarAngleAxis?: boolean;\n\n /** Determines whether PolarRadiusAxisProps component should be displayed, `false` by default */\n withPolarRadiusAxis?: boolean;\n\n /** Props passed down to recharts Radar component */\n radarProps?: ((series: RadarChartSeries) => Omit<RadarProps, 'ref'>) | Omit<RadarProps, 'ref'>;\n\n /** Props passed down to recharts RadarChart component */\n radarChartProps?: React.ComponentPropsWithoutRef<typeof ReChartsRadarChart>;\n\n /** Props passed down to recharts PolarGrid component */\n polarGridProps?: Omit<PolarGridProps, 'ref'>;\n\n /** Props passed down to recharts PolarAngleAxis component */\n polarAngleAxisProps?: Omit<PolarAngleAxisProps, 'ref'>;\n\n /** Props passed down to recharts PolarRadiusAxis component */\n polarRadiusAxisProps?: Omit<PolarRadiusAxisProps, 'ref'>;\n\n /** Props passed down to recharts Legend component */\n legendProps?: Omit<LegendProps, 'ref'>;\n\n /** Determines whether the legend should be displayed, `false` by default */\n withLegend?: boolean;\n\n /** Additional components that are rendered inside recharts `RadarChart` component */\n children?: React.ReactNode;\n}\n\nexport type RadarChartFactory = Factory<{\n props: RadarChartProps;\n ref: HTMLDivElement;\n stylesNames: RadarChartStylesNames;\n vars: RadarChartCssVariables;\n}>;\n\nconst defaultProps: Partial<RadarChartProps> = {\n withPolarGrid: true,\n withPolarAngleAxis: true,\n withPolarRadiusAxis: false,\n};\n\nconst varsResolver = createVarsResolver<RadarChartFactory>((theme, { gridColor, textColor }) => ({\n root: {\n '--chart-grid-color': gridColor ? getThemeColor(gridColor, theme) : undefined,\n '--chart-text-color': textColor ? getThemeColor(textColor, theme) : undefined,\n },\n}));\n\nexport const RadarChart = factory<RadarChartFactory>((_props, ref) => {\n const props = useProps('RadarChart', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n data,\n series,\n dataKey,\n gridColor,\n textColor,\n radarProps,\n radarChartProps,\n polarGridProps,\n polarAngleAxisProps,\n polarRadiusAxisProps,\n withPolarGrid,\n withPolarAngleAxis,\n withPolarRadiusAxis,\n children,\n withLegend,\n legendProps,\n ...others\n } = props;\n\n const theme = useMantineTheme();\n\n const getStyles = useStyles<RadarChartFactory>({\n name: 'RadarChart',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const [highlightedArea, setHighlightedArea] = useState<string | null>(null);\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<RadarChartFactory>({\n classNames,\n styles,\n props,\n });\n\n const radars = series.map((item, index) => (\n <Radar\n key={index}\n name={item.name}\n dataKey={item.name}\n stroke={getThemeColor(item.strokeColor || item.color, theme)}\n fill={getThemeColor(item.color, theme)}\n fillOpacity={\n highlightedArea\n ? highlightedArea === item.name\n ? item.opacity || 0.4\n : 0.05\n : item.opacity || 0.4\n }\n strokeOpacity={highlightedArea ? (highlightedArea === item.name ? 1 : 0.1) : 1}\n isAnimationActive={false}\n {...(typeof radarProps === 'function' ? radarProps(item) : radarProps)}\n />\n ));\n\n return (\n <Box ref={ref} {...getStyles('root')} {...others}>\n <ResponsiveContainer {...getStyles('container')}>\n <ReChartsRadarChart data={data} {...radarChartProps}>\n {withPolarGrid && <PolarGrid stroke=\"var(--chart-grid-color)\" {...polarGridProps} />}\n {withPolarAngleAxis && <PolarAngleAxis dataKey={dataKey} {...polarAngleAxisProps} />}\n {withPolarRadiusAxis && (\n <PolarRadiusAxis stroke=\"var(--chart-grid-color)\" {...polarRadiusAxisProps} />\n )}\n {radars}\n {withLegend && (\n <Legend\n verticalAlign=\"bottom\"\n content={(payload) => (\n <ChartLegend\n payload={payload.payload}\n onHighlight={setHighlightedArea}\n legendPosition={legendProps?.verticalAlign || 'bottom'}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n series={series}\n centered\n />\n )}\n {...legendProps}\n />\n )}\n {children}\n </ReChartsRadarChart>\n </ResponsiveContainer>\n </Box>\n );\n});\n\nRadarChart.displayName = '@mantine/charts/RadarChart';\nRadarChart.classes = classes;\n"],"names":["ReChartsRadarChart"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
var classes = {"root":"m_a50f3e58","container":"m_af9188cb","grid":"m_a50a48bc","axis":"m_a507a517","axisLabel":"m_2293801d"};
|
|
2
|
+
var classes = {"root":"m_a50f3e58","container":"m_af9188cb","grid":"m_a50a48bc","axis":"m_a507a517","axisLabel":"m_2293801d","tooltip":"m_92b296cd"};
|
|
3
3
|
|
|
4
4
|
export { classes as default };
|
|
5
5
|
//# sourceMappingURL=grid-chart.module.css.mjs.map
|
package/esm/index.mjs
CHANGED
|
@@ -10,4 +10,5 @@ export { DonutChart } from './DonutChart/DonutChart.mjs';
|
|
|
10
10
|
export { PieChart } from './PieChart/PieChart.mjs';
|
|
11
11
|
export { RadarChart } from './RadarChart/RadarChart.mjs';
|
|
12
12
|
export { ScatterChart } from './ScatterChart/ScatterChart.mjs';
|
|
13
|
+
export { BubbleChart } from './BubbleChart/BubbleChart.mjs';
|
|
13
14
|
//# sourceMappingURL=index.mjs.map
|
package/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ScatterProps, TooltipProps, XAxisProps, YAxisProps, ZAxisProps } from 'recharts';
|
|
2
|
+
import { BoxProps, ElementProps, Factory, MantineColor, StylesApiProps } from '@mantine/core';
|
|
3
|
+
export type BubbleChartStylesNames = 'root' | 'axis' | 'tooltip';
|
|
4
|
+
export type BubbleChartCssVariables = {
|
|
5
|
+
root: '--chart-text-color' | '--chart-grid-color';
|
|
6
|
+
};
|
|
7
|
+
export interface BubbleChartDataKey {
|
|
8
|
+
x: string;
|
|
9
|
+
y: string;
|
|
10
|
+
z: string;
|
|
11
|
+
}
|
|
12
|
+
export interface BubbleChartProps extends BoxProps, StylesApiProps<BubbleChartFactory>, ElementProps<'div'> {
|
|
13
|
+
/** Chart data */
|
|
14
|
+
data: Record<string, any>[];
|
|
15
|
+
/** Data keys for x, y and z axis */
|
|
16
|
+
dataKey: BubbleChartDataKey;
|
|
17
|
+
/** Z axis range */
|
|
18
|
+
range: [number, number];
|
|
19
|
+
/** Color of the chart items. Key of `theme.colors` or any valid CSS color, `blue.6` by default. */
|
|
20
|
+
color?: MantineColor;
|
|
21
|
+
/** Props passed down to the `XAxis` recharts component */
|
|
22
|
+
xAxisProps?: Omit<XAxisProps, 'ref'>;
|
|
23
|
+
/** Props passed down to the `YAxis` recharts component */
|
|
24
|
+
yAxisProps?: Omit<YAxisProps, 'ref'>;
|
|
25
|
+
/** Props passed down to the `ZAxis` recharts component */
|
|
26
|
+
zAxisProps?: Omit<ZAxisProps, 'ref'>;
|
|
27
|
+
/** Props passed down to the `Tooltip` component */
|
|
28
|
+
tooltipProps?: Omit<TooltipProps<any, any>, 'ref'>;
|
|
29
|
+
/** Props passed down to the `Scatter` component */
|
|
30
|
+
scatterProps?: Omit<ScatterProps, 'ref'>;
|
|
31
|
+
/** Color of the text displayed inside the chart, `'dimmed'` by default */
|
|
32
|
+
textColor?: MantineColor;
|
|
33
|
+
/** Color of the grid and cursor lines, by default depends on color scheme */
|
|
34
|
+
gridColor?: MantineColor;
|
|
35
|
+
/** Chart label displayed next to the x axis */
|
|
36
|
+
label?: string;
|
|
37
|
+
/** Determines whether the tooltip should be displayed, `true` by default */
|
|
38
|
+
withTooltip?: boolean;
|
|
39
|
+
/** Function to format z axis values */
|
|
40
|
+
valueFormatter?: (value: number) => string;
|
|
41
|
+
}
|
|
42
|
+
export type BubbleChartFactory = Factory<{
|
|
43
|
+
props: BubbleChartProps;
|
|
44
|
+
ref: HTMLDivElement;
|
|
45
|
+
stylesNames: BubbleChartStylesNames;
|
|
46
|
+
vars: BubbleChartCssVariables;
|
|
47
|
+
}>;
|
|
48
|
+
export declare const BubbleChart: import("@mantine/core").MantineComponent<{
|
|
49
|
+
props: BubbleChartProps;
|
|
50
|
+
ref: HTMLDivElement;
|
|
51
|
+
stylesNames: BubbleChartStylesNames;
|
|
52
|
+
vars: BubbleChartCssVariables;
|
|
53
|
+
}>;
|
|
@@ -13,6 +13,8 @@ export interface ChartLegendProps extends BoxProps, StylesApiProps<ChartLegendFa
|
|
|
13
13
|
series?: ChartSeries[];
|
|
14
14
|
/** Determines whether color swatch should be shown next to the label, `true` by default */
|
|
15
15
|
showColor?: boolean;
|
|
16
|
+
/** Determines whether the legend should be centered, `false` by default */
|
|
17
|
+
centered?: boolean;
|
|
16
18
|
}
|
|
17
19
|
export type ChartLegendFactory = Factory<{
|
|
18
20
|
props: ChartLegendProps;
|
|
@@ -17,6 +17,8 @@ export interface ChartTooltipProps extends BoxProps, StylesApiProps<ChartTooltip
|
|
|
17
17
|
series?: ChartSeries[];
|
|
18
18
|
/** A function to format values */
|
|
19
19
|
valueFormatter?: (value: number) => string;
|
|
20
|
+
/** Determines whether the color swatch should be visible, `true` by default */
|
|
21
|
+
showColor?: boolean;
|
|
20
22
|
}
|
|
21
23
|
export type ChartTooltipFactory = Factory<{
|
|
22
24
|
props: ChartTooltipProps;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { DotProps, LineProps, LineChart as ReChartsLineChart } from 'recharts';
|
|
2
|
-
import { BoxProps, ElementProps, Factory, StylesApiProps } from '@mantine/core';
|
|
2
|
+
import { BoxProps, ElementProps, Factory, MantineColor, StylesApiProps } from '@mantine/core';
|
|
3
3
|
import { ChartLegendStylesNames } from '../ChartLegend';
|
|
4
4
|
import { ChartTooltipStylesNames } from '../ChartTooltip';
|
|
5
5
|
import type { BaseChartStylesNames, ChartSeries, GridChartBaseProps } from '../types';
|
|
6
|
+
export type LineChartType = 'default' | 'gradient';
|
|
7
|
+
export interface LineChartGradientStop {
|
|
8
|
+
offset: number;
|
|
9
|
+
color: MantineColor;
|
|
10
|
+
}
|
|
6
11
|
export type LineChartCurveType = 'bump' | 'linear' | 'natural' | 'monotone' | 'step' | 'stepBefore' | 'stepAfter';
|
|
7
12
|
export interface LineChartSeries extends ChartSeries {
|
|
8
13
|
strokeDasharray?: string | number;
|
|
@@ -16,6 +21,10 @@ export interface LineChartProps extends BoxProps, GridChartBaseProps, StylesApiP
|
|
|
16
21
|
data: Record<string, any>[];
|
|
17
22
|
/** An array of objects with `name` and `color` keys. Determines which data should be consumed from the `data` array. */
|
|
18
23
|
series: LineChartSeries[];
|
|
24
|
+
/** Controls styles of the line, `'default'` by default */
|
|
25
|
+
type?: LineChartType;
|
|
26
|
+
/** Data used to generate gradient stops, `[{ offset: 0, color: 'red' }, { offset: 100, color: 'blue' }]` by default */
|
|
27
|
+
gradientStops?: LineChartGradientStop[];
|
|
19
28
|
/** Type of the curve, `'monotone'` by default */
|
|
20
29
|
curveType?: LineChartCurveType;
|
|
21
30
|
/** Controls fill opacity of all lines, `1` by default */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PolarAngleAxisProps, PolarGridProps, PolarRadiusAxisProps, RadarProps, RadarChart as ReChartsRadarChart } from 'recharts';
|
|
1
|
+
import { LegendProps, PolarAngleAxisProps, PolarGridProps, PolarRadiusAxisProps, RadarProps, RadarChart as ReChartsRadarChart } from 'recharts';
|
|
2
2
|
import { BoxProps, ElementProps, Factory, MantineColor, StylesApiProps } from '@mantine/core';
|
|
3
3
|
export interface RadarChartSeries {
|
|
4
4
|
name: string;
|
|
@@ -37,6 +37,10 @@ export interface RadarChartProps extends BoxProps, StylesApiProps<RadarChartFact
|
|
|
37
37
|
polarAngleAxisProps?: Omit<PolarAngleAxisProps, 'ref'>;
|
|
38
38
|
/** Props passed down to recharts PolarRadiusAxis component */
|
|
39
39
|
polarRadiusAxisProps?: Omit<PolarRadiusAxisProps, 'ref'>;
|
|
40
|
+
/** Props passed down to recharts Legend component */
|
|
41
|
+
legendProps?: Omit<LegendProps, 'ref'>;
|
|
42
|
+
/** Determines whether the legend should be displayed, `false` by default */
|
|
43
|
+
withLegend?: boolean;
|
|
40
44
|
/** Additional components that are rendered inside recharts `RadarChart` component */
|
|
41
45
|
children?: React.ReactNode;
|
|
42
46
|
}
|
package/lib/index.d.mts
CHANGED
package/lib/index.d.ts
CHANGED
package/lib/types.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export interface ChartSeries {
|
|
|
9
9
|
name: string;
|
|
10
10
|
color?: MantineColor;
|
|
11
11
|
label?: string;
|
|
12
|
+
yAxisId?: string;
|
|
12
13
|
}
|
|
13
14
|
export type BaseChartStylesNames = 'root' | 'container' | 'axis' | 'grid' | 'referenceLine' | 'axisLabel';
|
|
14
15
|
export type ChartData = Record<string, any>[];
|
|
@@ -27,6 +28,8 @@ export interface GridChartBaseProps {
|
|
|
27
28
|
xAxisProps?: Omit<XAxisProps, 'ref'>;
|
|
28
29
|
/** Props passed down to the `YAxis` recharts component */
|
|
29
30
|
yAxisProps?: Omit<YAxisProps, 'ref'>;
|
|
31
|
+
/** Props passed down to the `YAxis` recharts component rendered on the right side */
|
|
32
|
+
rightYAxisProps?: Omit<YAxisProps, 'ref'>;
|
|
30
33
|
/** Props passed down to the `CartesianGrid` component */
|
|
31
34
|
gridProps?: Omit<CartesianGridProps, 'ref'>;
|
|
32
35
|
/** Specifies which axis should have tick line, `'y'` by default */
|
|
@@ -59,4 +62,8 @@ export interface GridChartBaseProps {
|
|
|
59
62
|
xAxisLabel?: string;
|
|
60
63
|
/** A label to display next to the y-axis */
|
|
61
64
|
yAxisLabel?: string;
|
|
65
|
+
/** A label to display next to the right y-axis */
|
|
66
|
+
rightYAxisLabel?: string;
|
|
67
|
+
/** Determines whether additional y-axis should be displayed on the right side of the chart, `false` by default */
|
|
68
|
+
withRightYAxis?: boolean;
|
|
62
69
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/charts",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.11.0",
|
|
4
4
|
"description": "Charts components built with recharts and Mantine",
|
|
5
5
|
"homepage": "https://mantine.dev/",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
"directory": "packages/@mantine/charts"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@mantine/core": "7.
|
|
39
|
-
"@mantine/hooks": "7.
|
|
38
|
+
"@mantine/core": "7.11.0",
|
|
39
|
+
"@mantine/hooks": "7.11.0",
|
|
40
40
|
"react": "^18.2.0",
|
|
41
41
|
"react-dom": "^18.2.0",
|
|
42
42
|
"recharts": "^2.10.3"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@mantine-tests/core": "1.1.0",
|
|
46
|
-
"@mantine/core": "7.
|
|
47
|
-
"@mantine/hooks": "7.
|
|
46
|
+
"@mantine/core": "7.11.0",
|
|
47
|
+
"@mantine/hooks": "7.11.0"
|
|
48
48
|
}
|
|
49
49
|
}
|
package/styles.css
CHANGED
|
@@ -67,6 +67,10 @@
|
|
|
67
67
|
height: 100%;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
.m_847eaf:where([data-centered]) {
|
|
71
|
+
justify-content: center;
|
|
72
|
+
}
|
|
73
|
+
|
|
70
74
|
.m_847eaf:where([data-position='top']) {
|
|
71
75
|
padding-bottom: var(--mantine-spacing-md);
|
|
72
76
|
}
|
|
@@ -155,6 +159,22 @@
|
|
|
155
159
|
color: var(--chart-text-color, var(--mantine-color-dimmed));
|
|
156
160
|
}
|
|
157
161
|
|
|
162
|
+
.m_92b296cd {
|
|
163
|
+
min-width: calc(12.5rem * var(--mantine-scale));
|
|
164
|
+
background-color: var(--mantine-color-body);
|
|
165
|
+
box-shadow: var(--mantine-shadow-md);
|
|
166
|
+
border-radius: var(--mantine-radius-default);
|
|
167
|
+
padding: var(--mantine-spacing-sm);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
:where([data-mantine-color-scheme='light']) .m_92b296cd {
|
|
171
|
+
border: 1px solid var(--mantine-color-gray-3);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
:where([data-mantine-color-scheme='dark']) .m_92b296cd {
|
|
175
|
+
border: 1px solid var(--mantine-color-dark-4);
|
|
176
|
+
}
|
|
177
|
+
|
|
158
178
|
.m_a410e613 {
|
|
159
179
|
min-height: var(--chart-size, auto);
|
|
160
180
|
height: var(--chart-size, auto);
|
package/styles.layer.css
CHANGED
|
@@ -67,6 +67,10 @@
|
|
|
67
67
|
height: 100%;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
.m_847eaf:where([data-centered]) {
|
|
71
|
+
justify-content: center;
|
|
72
|
+
}
|
|
73
|
+
|
|
70
74
|
.m_847eaf:where([data-position='top']) {
|
|
71
75
|
padding-bottom: var(--mantine-spacing-md);
|
|
72
76
|
}
|
|
@@ -155,6 +159,22 @@
|
|
|
155
159
|
color: var(--chart-text-color, var(--mantine-color-dimmed));
|
|
156
160
|
}
|
|
157
161
|
|
|
162
|
+
.m_92b296cd {
|
|
163
|
+
min-width: calc(12.5rem * var(--mantine-scale));
|
|
164
|
+
background-color: var(--mantine-color-body);
|
|
165
|
+
box-shadow: var(--mantine-shadow-md);
|
|
166
|
+
border-radius: var(--mantine-radius-default);
|
|
167
|
+
padding: var(--mantine-spacing-sm);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
:where([data-mantine-color-scheme='light']) .m_92b296cd {
|
|
171
|
+
border: 1px solid var(--mantine-color-gray-3);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
:where([data-mantine-color-scheme='dark']) .m_92b296cd {
|
|
175
|
+
border: 1px solid var(--mantine-color-dark-4);
|
|
176
|
+
}
|
|
177
|
+
|
|
158
178
|
.m_a410e613 {
|
|
159
179
|
min-height: var(--chart-size, auto);
|
|
160
180
|
height: var(--chart-size, auto);
|