A React design system your team and your coding agent can both build with.

62 accessible components, 19 color themes, right-to-left layouts built in, and a plain-text reference your agent reads before it writes a line.

Orders

Northwind Roasters

Revenue$18,420.50
Orders312
Refund rate1.8%
Loading chart...
Order
Customer
Status
Total
#4821Layla HaddadPaid$128.40
#4820Tom BeckerPacking$64.00
#4819Priya NairShipped$212.90
#4818Omar FaroukRefunded$39.50

Every control above is a madagent component: Input, Hotkey, Button, SegmentedControl, Metric, Currency, AreaChart, Timeline, Table, Chip, and Avatar.

The rest of the kit

A sample of the 62 components, all live. Click a name to open its docs, props, and right-to-left examples.

Button
November 2026
SuMoTuWeThFrSa
Calendar
Switch & Checkbox
Price range
Slider
Step 1: Cart (completed)
Step 2: Shipping (current)
Step 3: Payment
Step 4: Done
Stepper
Rating
PaidPendingFailed
Chip
Payout sent
$4,120.00 is on its way to the account ending 0921.
Alert
Save 20%
Radio
⌘K
Tooltip & Hotkey
No messages yet
New replies from customers will show up here.
Empty state
See all 62 components

19 themes, one prop

Every color on this page comes from theme tokens. Pick a theme and the whole page follows, including the dashboard above.

<ThemeProvider theme="blue" mode="light">

Arabic and English from the same markup

Components are written with logical CSS properties, so setting dir="rtl" mirrors layout, icons, and arrow-key behavior. There is no second stylesheet to maintain.

Step 1: السلة (completed)
Step 2: الشحن (current)
Step 3: الدفع

إلى أين نرسل طلبك؟

التوصيل
من ٣ إلى ٥ أيام
غدًا
المجموع 486.50⃁

Written for coding agents, too

The package ships a set of Markdown references that list every component, prop, and token in a compact format. Point Claude Code, Cursor, or Copilot at them and it uses the real API instead of guessing one.

agents/components.md
## Button
variant  primary | neutral | secondary | outline | ghost | danger
size     sm | md | lg
props    icon, loading, fullWidth
notes    Defaults to type="button". Icon-only needs aria-label.

## Metric
label    string
value    ReactNode   (pair with <Currency> for money)
sentiment positive | negative | neutral