- Accordion
- Agent Thinking
- Alert
- Alert Dialog
- Announcement
- Aspect Ratio
- Attachment
- Avatar
- Badge
- Breadcrumb
- Bubble
- Button
- Button Group
- Calendar
- Card
- Carousel
- Checkbox
- Checkbox Card
- Code Block
- Collapsible
- Color Picker
- Combobox
- Command
- Composer
- Composer Loader
- Context Menu
- Data Grid
- Data Table
- Date Picker
- Dialog
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- File Upload
- Hover Card
- Input
- Input Group
- Input Otp
- Item
- Kbd
- Label
- Marker
- Menubar
- Message
- Message Scroller
- Meter
- Native Select
- Navigation Menu
- Number Field
- Pagination
- Period Switcher
- Popover
- Progress
- Questionnaire
- Radio Card
- Radio Group
- Resizable
- Reveal
- Scroll Area
- Search Field
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Social Button
- Sonner
- Spinner
- Status Dot
- Switch
- Switch Card
- Table
- Tabs
- Tag Group
- Textarea
- Theme Toggle
- Time Field
- Toggle
- Toggle Group
- Tooltip
- Trace
- Tree View
- Agent Creator 01
- Agent Limits Card 01
- Agent Progress 01
- AI Chat 01
- AI Image Generation 01
- AI Profile 01
- Alerts Card 01
- Auth Card 01
- Calendar 01
- Composer 01
- Composer Attachments 01
- Composer Panel 01
- Finance Dashboard 01
- Home Dashboard 01
- Marketing Dashboard 01
- Medical Profile 01
- Meeting Scheduler 01
- Multi Agent Chat 01
- Notification Center 01
- Patient Info Card 01
- Project Board 01
- Questionnaire 01
- Settings Modal 01
- Sidebar 01
- Stat Cards 01
- Task List 01
- Web Search 01
- Activity Rings Card 01
- Area Chart Card 01
- Bar List Card 01
- Combo Chart Card 01
- Contributions Card 01
- Earnings Chart Card 01
- Funnel Chart Card 01
- Heatmap Chart Card 01
- Line Chart Card 01
- Most Active Days Card 01
- Orders Chart Card 01
- Radar Chart Card 01
- Radial Chart Card 01
- Revenue Chart Card 01
- Sankey Chart Card 01
- Scatter Chart Card 01
- Sleep Score Card 01
- Stage Bars Card 01
- Steps Card 01
Recent hires
12
MO
Product designerMira Okafor
Joined 2 days ago
JW
Brand designerJonas Weber
Joined 4 days ago
PN
Design leadPriya Nair
Joined 1 week ago
TM
IllustratorTheo Marsh
Joined 1 week ago
Earned so far
$8,240
+12.6%$12K$9K$6K$3K$0
JJan
FFeb
MMar
AApr
MMay
JJun
JJul
AAug
SSep
OOct
NNov
DDec
Revenue
$40,420
+12.1%Contributions this year
484
+12.6%4.2k
All time
382
Best month
9h 10m
Longest session
28 days
Current streak
Activity
JanFebMarAprMayJunJulAugSepOctNovDec
Open projects
84
+6.2%Orders this week
326
-2.4%Active customers
1,248
+12.8%Unanswered messages
42
0.00%Total Results
660 customers
| Purchase | Status | Actions | ||||
|---|---|---|---|---|---|---|
| AHAvery Hale | Delivery failed | Jan 01, 2026 | $145 | |||
| IDIndigo Dunn | Shipped | Jun 08, 2026 | $828 | |||
| POParker Orr | Delivery waiting | Nov 15, 2026 | $1,511 | |||
| WMWren Moss | Shipped | Apr 22, 2026 | $2,194 | |||
| DGDalia Grant | Delivery failed | Sep 02, 2026 | $2,877 | |||
| FRFinley Rowe | Delivery failed | Feb 09, 2026 | $360 | |||
| NVNoor Vale | Shipped | Jul 16, 2026 | $1,043 | |||
| UJUma Joyce | Delivery waiting | Dec 23, 2026 | $1,726 | |||
| BVBryn Voss | Shipped | May 03, 2026 | $2,409 | |||
| DBDrew Brook | Delivery failed | Oct 10, 2026 | $3,092 | |||
| LMLogan Marsh | Delivery failed | Mar 17, 2026 | $575 | |||
| SISasha Ives | Shipped | Aug 24, 2026 | $1,258 |
Page 1 of 55
…
Installation
Set up the @cobalt registry first, as described in Installation, then add the block:
$ pnpm dlx shadcn@latest add @cobalt/home-dashboard-01
The dashboard uses local sample data and keeps its interactions in the browser. Pass popupClassName to scope the theme of the account menu and tooltips rendered outside the dashboard.
Source
"use client";
import { cn } from "cn";
import * as React from "react";
import { ContributionsCard } from "@/components/blocks/contributions-card-01/components/contributions-card";
import { EarningsChartCard } from "@/components/blocks/earnings-chart-card-01/components/earnings-chart-card";
import { CustomersTable } from "@/components/blocks/home-dashboard-01/components/home-dashboard-customers-table";
import {
activityDays,
activityStats,
earningsPeriods,
kpiStats,
revenuePeriods,
} from "@/components/blocks/home-dashboard-01/components/home-dashboard-data";
import { HomeDashboardHiresCard } from "@/components/blocks/home-dashboard-01/components/home-dashboard-hires-card";
import { RevenueChartCard } from "@/components/blocks/revenue-chart-card-01/components/revenue-chart-card";
import { StatCards } from "@/components/blocks/stat-cards-01/components/stat-cards";
import { Reveal } from "@/components/ui/reveal";
// 500ms, 12px rise with a 3px blur clearing, each row 40ms after the last.
function Row({
step,
className,
children,
}: {
step: number;
className?: string;
children: React.ReactNode;
}) {
return (
<Reveal index={step} blur className="min-w-0">
<div className={className}>{children}</div>
</Reveal>
);
}
/**
* The body of a home dashboard: new hires, earnings, revenue, activity, four
* KPI cards and a customer table. It carries no navigation or heading, so it
* drops into an app shell or any page. Pass `popupClassName` (a theme scope)
* so menus and tooltips rendered outside the block pick up the same tokens.
*/
export function HomeDashboard({
className,
popupClassName,
}: {
className?: string;
popupClassName?: string;
}) {
return (
<div className={cn("@container flex min-w-0 flex-col gap-4", className)}>
<Row step={0} className="grid min-w-0 gap-4 @4xl:grid-cols-[453fr_673fr]">
<HomeDashboardHiresCard popupClassName={popupClassName} />
<EarningsChartCard title="Earned so far" periods={earningsPeriods} />
</Row>
<Row step={1} className="grid min-w-0 gap-4 @4xl:grid-cols-2">
<RevenueChartCard
title="Revenue"
periods={revenuePeriods}
compare={false}
className="h-[335px]"
/>
<ContributionsCard
title="Contributions this year"
weeks={37}
data={activityDays}
change="+12.6%"
palette="purple"
stats={activityStats}
/>
</Row>
<Row step={2}>
<StatCards stats={kpiStats} popupClassName={popupClassName} />
</Row>
<Row step={3}>
<CustomersTable popupClassName={popupClassName} />
</Row>
</div>
);
} On this page