import { CSSUIProps, HTMLUIProps } from '@yamada-ui/core'; import { Merge, Dict } from '@yamada-ui/utils'; import { ComponentPropsWithoutRef, SVGProps, ReactNode, ReactElement } from 'react'; import * as Recharts from 'recharts'; type ChartLayoutType = "horizontal" | "vertical"; type AreaChartType = "default" | "percent" | "split" | "stacked"; type BarChartType = Exclude; type ChartAxisType = "none" | "x" | "xy" | "y"; type ChartCurveType = "bump" | "linear" | "monotone" | "natural" | "step" | "stepAfter" | "stepBefore"; type TooltipDataSourceType = "all" | "segment"; interface AreaChartProps extends Merge> { } interface BarChartProps extends Merge> { } interface LineChartProps extends Merge> { } interface RadarChartProps extends Merge> { } interface PieChartProps extends Merge> { } interface RadialChartProps extends Merge> { } interface ReferenceLineProps extends Merge { } interface ResponsiveContainerProps extends Merge> { } interface AreaProps extends Merge, { color: CSSUIProps["color"]; activeDot?: DotProps; dimArea?: Partial; dimDot?: DotProps; dot?: DotProps; }> { } interface LineProps extends Merge, { color: CSSUIProps["color"]; activeDot?: DotProps; dimDot?: DotProps; dimLine?: Partial; dot?: DotProps; }> { } interface BarProps extends Merge, { color: CSSUIProps["color"]; activeBar?: Merge, CSSUIProps>; background?: Merge, CSSUIProps>; dimBar?: Partial; }> { } interface RadarProps extends Merge, { color: CSSUIProps["color"]; activeDot?: DotProps; dimDot?: DotProps; dimRadar?: Partial; dot?: DotProps; }> { } interface PieProps extends Merge, { activeShape?: Partial; inactiveShape?: Partial; label?: HTMLUIProps<"text">; labelLine?: HTMLUIProps<"path">; }> { } interface CellProps extends CSSUIProps { name: string; value: number; dimCell?: Partial; } interface RadialBarProps extends Merge, { background?: Partial; dimRadialBar?: CSSUIProps; }> { } interface DotProps extends Merge, CSSUIProps> { } interface XAxisProps extends Merge> { } interface YAxisProps extends Merge> { } interface LegendProps extends Merge> { } interface TooltipProps extends Merge, "ref">>, { cursor?: CSSUIProps; }> { } interface GridProps extends Merge { } interface PolarGridProps extends Merge { } interface PolarAngleAxisProps extends Merge { } interface PolarRadiusAxisProps extends Merge { } interface LabelProps extends Merge> { } interface LabelListProps extends Merge, Omit> { } type ValueType = (number | string)[] | number | string; type NameType = number | string; type Payload = { [key: string]: any; } & Required>["payload"][number]; type ChartTooltipProps = { payload?: Payload[]; } & Omit, "payload">; type ChartTooltip = ((props: ChartTooltipProps) => ReactNode) | ReactElement; interface ChartLabelProps extends Omit, "fill" | "offset" | "viewBox">, LabelProps { } type ChartLabel = ((props: ChartLabelProps) => ReactNode) | ReactElement; export type { AreaChartProps, AreaChartType, AreaProps, BarChartProps, BarChartType, BarProps, CellProps, ChartAxisType, ChartCurveType, ChartLabel, ChartLabelProps, ChartLayoutType, ChartTooltip, ChartTooltipProps, DotProps, GridProps, LabelListProps, LabelProps, LegendProps, LineChartProps, LineProps, PieChartProps, PieProps, PolarAngleAxisProps, PolarGridProps, PolarRadiusAxisProps, RadarChartProps, RadarProps, RadialBarProps, RadialChartProps, ReferenceLineProps, ResponsiveContainerProps, TooltipDataSourceType, TooltipProps, XAxisProps, YAxisProps };