import React, { useMemo } from "react"; import { ChartContainer, ChartTooltip } from "@/src/components/ui/chart"; import { Bar, BarChart, XAxis, YAxis } from "recharts"; import { type ChartProps } from "@/src/features/widgets/chart-library/chart-props"; import { getUniqueDimensions, groupDataByTimeDimension, } from "@/src/features/widgets/chart-library/utils"; /** * VerticalBarChartTimeSeries component * @param data - Data to be displayed. Expects an array of objects with time_dimension, dimension, and metric properties. * @param config - Configuration object for the chart. Can include theme settings for light and dark modes. * @param accessibilityLayer - Boolean to enable or disable the accessibility layer. Default is true. */ export const VerticalBarChartTimeSeries: React.FC = ({ data, config = { metric: { theme: { light: "hsl(var(--chart-1))", dark: "hsl(var(--chart-1))", }, }, }, accessibilityLayer = true, }) => { const groupedData = useMemo(() => groupDataByTimeDimension(data), [data]); const dimensions = useMemo(() => getUniqueDimensions(data), [data]); return ( {dimensions.map((dimension, index) => ( 1 ? "stack" : undefined} /> ))} ); }; export default VerticalBarChartTimeSeries;