CardGrid
<CardGrid> is a responsive grid for Cards — 1 column on mobile, 2 / 3 / 4 columns at md and up.
When to use
- Stat / KPI tiles at the top of a dashboard.
- Card-style entity grid (when a flat list isn’t enough).
- Settings card collections — connected integrations, team members, etc.
Don’t use CardGrid for: list / table data (DataTable), board / kanban (BoardView), or hero marketing layouts (this is admin-only).
Default
Total
128
Active
96
Archived
32
<CardGrid columns={3}> <Card>…</Card> <Card>…</Card> <Card>…</Card></CardGrid>API
| Prop | Type | Default | Description |
|---|---|---|---|
columns | 2 | 3 | 4 | 3 | Desktop column count. 4 collapses to 2 columns at md and 4 at lg. Mobile is always 1. |
children * | ReactNode | — | Cards (or any equally-sized item). |
className | string | — | Forwarded. |
Design guidelines
✓ Do
- Match all cards in shape — header / footer presence, height. Mixed cards in a grid look broken.
- Use columns={3} as default. columns={4} only when each card is small.
✗ Don't
- Mix Card sizes within one CardGrid. Either each card spans the same number of grid cells or they're in separate grids.
- Stuff a list-shaped data into CardGrid. List = DataTable.
Accessibility
- Plain semantic
<div>. Each Card carries its own structure.