"use client"; import { Bar, BarChart as RechartsBar, CartesianGrid, Cell, ResponsiveContainer, Tooltip, XAxis, YAxis, } from "recharts"; import { ChartTooltip } from "./shared/ChartTooltip"; import { CHART_COLORS, LAYOUT_OPTIONS } from "./shared/constants"; import { getSeverityColorByName } from "./shared/utils"; import { BarDataPoint, LayoutOption } from "./types"; interface BarChartProps { data: BarDataPoint[]; layout?: LayoutOption; xLabel?: string; yLabel?: string; height?: number; showValues?: boolean; } const CustomLabel = ({ x, y, width, height, value, data }: any) => { const percentage = data.percentage; return ( {percentage !== undefined ? `${percentage}% • ${value.toLocaleString()}` : value.toLocaleString()} ); }; export function BarChart({ data, layout = LAYOUT_OPTIONS.horizontal, xLabel, yLabel, height = 400, showValues = true, }: BarChartProps) { const isHorizontal = layout === LAYOUT_OPTIONS.horizontal; return ( {isHorizontal ? ( <> ) : ( <> )} } /> ( ) : false } > {data.map((entry, index) => ( ))} ); }