import { LegendProps, PolarAngleAxisProps, PolarGridProps, PolarRadiusAxisProps, RadarProps, RadarChart as ReChartsRadarChart, TooltipProps } from 'recharts'; import { BoxProps, ElementProps, Factory, MantineColor, StylesApiProps } from '@mantine/core'; import { ChartLegendStylesNames } from '../ChartLegend'; import { ChartTooltipStylesNames } from '../ChartTooltip'; import { MantineChartDotProps } from '../types'; export interface RadarChartSeries { name: string; color: MantineColor; strokeColor?: MantineColor; opacity?: number; label?: string; } export type RadarChartStylesNames = 'root' | 'container' | ChartTooltipStylesNames | ChartLegendStylesNames; export type RadarChartCssVariables = { root: '--chart-grid-color' | '--chart-text-color'; }; export interface RadarChartProps extends BoxProps, StylesApiProps, ElementProps<'div'> { /** Data used in the chart */ data: Record[]; /** Determines which data should be consumed from the `data` array. */ series: RadarChartSeries[]; /** Key of the `data` object for axis values */ dataKey: string; /** Controls color of the grid lines. By default, color depends on the color scheme. */ gridColor?: MantineColor; /** Controls color of all text elements. By default, color depends on the color scheme. */ textColor?: MantineColor; /** Determines whether PolarGrid component should be displayed @default `true`. */ withPolarGrid?: boolean; /** Determines whether PolarAngleAxis component should be displayed @default `true` */ withPolarAngleAxis?: boolean; /** Determines whether PolarRadiusAxisProps component should be displayed @default `false` */ withPolarRadiusAxis?: boolean; /** Determines whether Tooltip component should be displayed @default `false` */ withTooltip?: boolean; /** Props passed down to recharts Radar component */ radarProps?: ((series: RadarChartSeries) => Partial>) | Partial>; /** Props passed down to recharts RadarChart component */ radarChartProps?: React.ComponentPropsWithoutRef; /** Props passed down to recharts PolarGrid component */ polarGridProps?: Omit; /** Props passed down to recharts PolarAngleAxis component */ polarAngleAxisProps?: Omit; /** Props passed down to recharts PolarRadiusAxis component */ polarRadiusAxisProps?: Omit; /** Props passed down to recharts Legend component */ legendProps?: Omit; /** Props passed down to recharts Tooltip component */ tooltipProps?: Omit, 'ref'>; /** Tooltip position animation duration in ms @default `0` */ tooltipAnimationDuration?: number; /** Determines whether the legend should be displayed @default `false` */ withLegend?: boolean; /** Determines whether dots should be displayed @default `false` */ withDots?: boolean; /** Props passed down to all dots. Ignored if `withDots={false}` is set. */ dotProps?: MantineChartDotProps; /** Props passed down to all active dots. Ignored if `withDots={false}` is set. */ activeDotProps?: MantineChartDotProps; /** Additional components that are rendered inside recharts `RadarChart` component */ children?: React.ReactNode; } export type RadarChartFactory = Factory<{ props: RadarChartProps; ref: HTMLDivElement; stylesNames: RadarChartStylesNames; vars: RadarChartCssVariables; }>; export declare const RadarChart: import("@mantine/core").MantineComponent<{ props: RadarChartProps; ref: HTMLDivElement; stylesNames: RadarChartStylesNames; vars: RadarChartCssVariables; }>;