Diamond Diamond

ui · 6 variants · 1 categories

Chart

Small SVG chart primitives for area lines, bars, donuts, scatter plots, target bars and radar charts.

npx "@rueda.dev/gems-diamond" add chart
§01

Charts

6 variants
Area line
Last six months
78
area-line
Bars
Last six months
78
Jan
Feb
Mar
Apr
May
Jun
bars
Donut
Last six months
78
Jan28
Feb44
Mar38
Apr62
donut
Scatter
Last six months
78
scatter
Target bars
Last six months
78
Jan
28
Feb
44
Mar
38
Apr
62
May
56
target-bars
Radar
Capability score
78
radar

Usage Guide

How to wire up this component in your app — props, callbacks, customization, and the conventions Diamond shares across the library.

Universal patterns

Every Diamond component shares the same prop conventions, so once you learn one you can predict the others.

  • variant — discriminated union of every visual option. Categories shown above are docs-only metadata; the prop is a flat string union.
  • accent — any CSS color string. Overrides --diamond-accent just for that instance via inline style. Cascades into hover, ring, and selection states.
  • asChild (when present) — renders the underlying primitive via @radix-ui/react-slot, letting you compose with <Link>, motion.button, etc.
  • className — merged with internal Tailwind classes via cn(). Use it to override layout, spacing, or colors.
  • Native HTML attributes (onClick, aria-*, data-*, ref, etc.) flow through to the root element without any whitelist.
  • Diamond is the skin: zero domain state, zero fetch, zero providers. You wire data and reactions in your app code; the components just render and emit events.