Charts

Copy-paste chart examples for every Bklit UI component.

Gauge

Notch arc with PieCenter-style NumberFlow, theme fills, optional patterns in defs, and separate active / inactive arc gradients when enabled.

<Gauge  centerValue={428_000}  defaultLabel="ARR run rate"  formatOptions={{ style: "currency", currency: "USD", maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  spacing={25}  value={66}/>// Omit width and height for a responsive layout (min-width 300px by default).

Trending up by 5.2% this month

Gauge — tight arc, filleted corners

No spacing between notches, 7px corner radius, custom sweep from 140° to 400°.

<Gauge  centerValue={428_000}  defaultLabel="ARR run rate"  endAngle={400}  formatOptions={{ style: "currency", currency: "USD", maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  notchCornerRadius={7}  spacing={0}  startAngle={140}  value={66}/>

Trending up by 5.2% this month

Gauge — dual arc gradients

Foreground and background notches each get their own hex ramp along the arc (requires useGradient).

<Gauge  activeGradient={["#a855f7", "#06b6d4"]}  centerValue={428_000}  defaultLabel="ARR run rate"  endAngle={400}  formatOptions={{ style: "currency", currency: "USD", maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  inactiveGradient={["#334155", "#38bdf8"]}  notchCornerRadius={7}  spacing={0}  startAngle={140}  useGradient  value={66}/>

Trending up by 5.2% this month

Gauge — pattern foreground, dim solid track

Diagonal PatternLines on active notches; inactive track uses `chart-1` at 0.4 fill opacity.

<Gauge  activeFill="url(#gauge-gallery-ex3-fg)"  centerValue={1840}  defaultLabel="Trials converted (30d)"  endAngle={400}  formatOptions={{ maximumFractionDigits: 0 }}  inactiveFill="var(--chart-1)"  inactiveFillOpacity={0.4}  notchCornerRadius={7}  spacing={0}  startAngle={140}  value={66}>  <PatternLines    height={6}    id="gauge-gallery-ex3-fg"    orientation={["diagonal"]}    stroke="var(--chart-1)"    strokeWidth={1}    width={6}  /></Gauge>

Trending up by 5.2% this month

Gauge — sparse ring, quarter sweep

Fewer notches, wide spacing, sharp corners, 90° → 270° sweep — reads like a progress ring segment.

<Gauge  centerValue={12}  defaultLabel="Active squads"  endAngle={270}  formatOptions={{ maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  spacing={60}  startAngle={90}  totalNotches={33}  value={66}/>

Trending up by 5.2% this month

Gauge — same density, bottom half sweep

Same notch layout as the sparse ring example, but the arc runs 180° → 360° (lower semicircle emphasis).

<Gauge  centerValue={12}  defaultLabel="Active squads"  endAngle={360}  formatOptions={{ maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  spacing={60}  startAngle={180}  totalNotches={33}  value={66}/>

Trending up by 5.2% this month

Gauge — flipped sweep (270° → 450°)

Same spacing and notch count as the quarter sweep, rotated so the gap sits on the opposite side of the ring.

<Gauge  centerValue={12}  defaultLabel="Active squads"  endAngle={450}  formatOptions={{ maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  spacing={60}  startAngle={270}  totalNotches={33}  value={66}/>

Trending up by 5.2% this month

Gauge — soft fillets, full depth

Default notch length with an 8px corner radius — smooth joints without going fully pill-shaped.

<Gauge  centerValue={428_000}  defaultLabel="ARR run rate"  formatOptions={{ style: "currency", currency: "USD", maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  notchCornerRadius={8}  notchLengthPercent={100}  spacing={25}  value={66}/>

Trending up by 5.2% this month

Gauge — short notches, bold corners

Radial depth at 38% with a 12px fillet — stubbier ticks that still read soft at the tips.

<Gauge  centerValue={428_000}  defaultLabel="ARR run rate"  formatOptions={{ style: "currency", currency: "USD", maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  notchCornerRadius={12}  notchLengthPercent={38}  spacing={25}  value={66}/>

Trending up by 5.2% this month

Gauge — near-circular notches

Full default depth with a 22px corner radius (geometry-clamped) for a capsule / almost-round look.

<Gauge  centerValue={428_000}  defaultLabel="ARR run rate"  endAngle={400}  formatOptions={{ style: "currency", currency: "USD", maximumFractionDigits: 0 }}  inactiveFillOpacity={0.4}  notchCornerRadius={22}  notchLengthPercent={100}  spacing={0}  startAngle={140}  value={66}/>

Trending up by 5.2% this month

Gauge — linear notch track

Horizontal notch bar via orientation="linear" — same fill model as the arc gauge, responsive parent width.

<Gauge  orientation="linear"  value={72}  totalNotches={72}  spacing={0}  notchCornerRadius={3}  notchLengthPercent={38}  inactiveFillOpacity={0.4}  useGradient/>

Trending up by 5.2% this month

Gauge — linear with label below

Optional centerValue and labelPlacement for linear gauges — same placement model as chart legend.

<Gauge  orientation="linear"  value={72}  centerValue={428_000}  defaultLabel="ARR run rate"  labelPlacement="bottom"  labelAlign="center"  formatOptions={{ style: "currency", currency: "USD", maximumFractionDigits: 0 }}  totalNotches={72}  spacing={0}  notchCornerRadius={3}  inactiveFillOpacity={0.4}  useGradient/>

Trending up by 5.2% this month

Gauge — linear dual gradients

Active and inactive notches each interpolate along their own hex ramp when useGradient is enabled.

<Gauge  orientation="linear"  value={72}  totalNotches={72}  spacing={0}  notchCornerRadius={3}  notchLengthPercent={38}  inactiveFillOpacity={0.4}  activeGradient={["#a855f7", "#06b6d4"]}  inactiveGradient={["#334155", "#38bdf8"]}  useGradient/>

Trending up by 5.2% this month