diff --git a/airbyte-webapp/src/components/BarChart/BarChart.tsx b/airbyte-webapp/src/components/BarChart/BarChart.tsx index 640b5593c296d..73f6e1e5e8dc9 100644 --- a/airbyte-webapp/src/components/BarChart/BarChart.tsx +++ b/airbyte-webapp/src/components/BarChart/BarChart.tsx @@ -1,11 +1,11 @@ -import React from "react"; -import { CartesianGrid, BarChart as BasicBarChart, ResponsiveContainer, XAxis, YAxis, Bar, Label } from "recharts"; +import React, { useMemo } from "react"; +import { Bar, BarChart as BasicBarChart, CartesianGrid, Label, ResponsiveContainer, XAxis, YAxis } from "recharts"; import { barChartColors, theme } from "theme"; type BarChartProps = { - data?: { + data: { name: string; - value: number | number[]; + value: number; }[]; legendLabels: string[]; xLabel?: string; @@ -16,6 +16,11 @@ const BarChart: React.FC = ({ data, legendLabels, xLabel, yLabel const chartLinesColor = theme.greyColor20; const chartTicksColor = theme.lightTextColor; + const width = useMemo( + () => Math.min(Math.max([...data].sort((a, b) => b.value - a.value)[0].value.toFixed(0).length * 10, 80), 130), + [data] + ); + return ( @@ -38,11 +43,18 @@ const BarChart: React.FC = ({ data, legendLabels, xLabel, yLabel tick={{ fontSize: "11px" }} tickSize={7} /> - + {legendLabels.map((barName, key) => ( - + ))}