sigilUI

Chart

Build responsive Recharts visualizations with token-styled axes, tooltips, and legends.

@sigil-ui/componentsReact

Chart

Token-aware chart wrapper that passes Sigil colors to your charting library.

Installation

npx @sigil-ui/cli add chart

Preview

Live preview Interactive

This chart uses the actual ChartContainer, ChartTooltip, and ChartLegend components.

Install Recharts alongside Sigil if it is not already in your project:

pnpm add recharts

Import

import { ChartContainer, ChartTooltip, ChartLegend } from "@sigil-ui/components";

Usage

Wrap any Recharts, Chart.js, or custom SVG chart. The container injects token colors as CSS variables scoped to the chart area.

import { BarChart, Bar, XAxis, YAxis } from "recharts";

<ChartContainer>
  <BarChart data={data}>
    <XAxis dataKey="name" />
    <YAxis />
    <Bar dataKey="value" fill="var(--s-primary)" />
  </BarChart>
</ChartContainer>

Examples

With tooltip

<ChartContainer>
  <BarChart data={data}>
    <XAxis dataKey="name" />
    <YAxis />
    <Bar dataKey="value" fill="var(--s-primary)" />
    <ChartTooltip />
  </BarChart>
</ChartContainer>

Multi-series with token colors

<ChartContainer>
  <BarChart data={data}>
    <XAxis dataKey="month" />
    <YAxis />
    <Bar dataKey="revenue" fill="var(--s-primary)" />
    <Bar dataKey="expenses" fill="var(--s-secondary)" />
    <ChartLegend />
  </BarChart>
</ChartContainer>

Line chart

import { LineChart, Line } from "recharts";

<ChartContainer className="h-[300px]">
  <LineChart data={data}>
    <XAxis dataKey="date" />
    <YAxis />
    <Line type="monotone" dataKey="value" stroke="var(--s-primary)" strokeWidth={2} />
  </LineChart>
</ChartContainer>

Props

ChartContainer

PropTypeDefaultDescription
classNamestring—Additional CSS classes
childrenReactNode—Chart content

ChartTooltip

PropTypeDefaultDescription
classNamestring—Tooltip container classes

ChartLegend

PropTypeDefaultDescription
classNamestring—Legend container classes

Tokens

This component reads these CSS variables:

  • --s-primary — first data series color
  • --s-secondary — second data series color
  • --s-surface — tooltip background
  • --s-border — tooltip border, axis lines
  • --s-text — axis labels, tooltip text
  • --s-text-muted — grid lines
  • --s-card-radius — tooltip radius