Charts
The Mukoko Registry provides chart components built on Recharts, wrapped in a ChartContainer that automatically applies the Five African Minerals color palette. Charts adapt between light and dark themes using the --chart-* tokens.
Installation
npx shadcn@latest add https://registry.mukoko.com/api/v1/ui/chartThis installs the ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, and ChartLegendContent components.
Chart colors
Charts use five theme-adaptive color tokens:
| Token | Light | Dark | Mineral |
|---|---|---|---|
--chart-1 | #4B0082 | #B388FF | Tanzanite |
--chart-2 | #0047AB | #00B0FF | Cobalt |
--chart-3 | #004D40 | #64FFDA | Malachite |
--chart-4 | #5D4037 | #FFD740 | Gold |
--chart-5 | #8B4513 | #D4A574 | Terracotta |
Use these tokens sequentially for chart data series to maintain color consistency across all Mukoko apps.
Chart types
Area Chart
Filled area charts for time series and trends
Bar Chart
Vertical and horizontal bar charts for comparisons
Line Chart
Line charts for continuous data
Pie Chart
Pie and donut charts for proportions
Radar Chart
Radar charts for multi-variable comparisons
Radial Chart
Radial/gauge charts for progress and scores
Tooltip
Tooltip customization for all chart types
Basic usage
All charts follow the same pattern: wrap a Recharts chart in ChartContainer with a config object:
import { ChartContainer, ChartTooltip, ChartTooltipContent } from "@/components/ui/chart"
import { AreaChart, Area, XAxis, YAxis } from "recharts"
const chartConfig = {
visitors: { label: "Visitors", color: "var(--chart-1)" },
}
<ChartContainer config={chartConfig} className="h-[300px]">
<AreaChart data={data}>
<XAxis dataKey="month" />
<YAxis />
<Area dataKey="visitors" fill="var(--chart-1)" stroke="var(--chart-1)" />
<ChartTooltip content={<ChartTooltipContent />} />
</AreaChart>
</ChartContainer>The ChartContainer provides:
- Responsive sizing
- Theme-aware colors via CSS custom properties
- Accessible labeling