Skip to content
UI Kit
Accent color

Dashboard UI for React and Tailwind

Complete application screens in a sidebar frame, with a tab bar of their own on phones.

6 variants
Switch category

Complete app screens, ready to fill

A dashboard is where people spend their working day, so it has to be fast to scan. The six screens here are complete application views in a sidebar frame, with charts, tables and lists from the kit, and each one gets its own tab bar on phones.

Overview is the start screen with key numbers, a trend and recent items. Analytics goes deeper into charts with a date range. Kanban moves cards between columns by drag and by keyboard. CRM with detail sheet opens a record in a side panel without leaving the list, Activity feed shows what happened in a team, Finance lists accounts, transactions and a balance.

Put the one number people check every morning at the top left. Use the same date range for every chart on a screen. The screens take your data through props, connect them to your API and keep loading states, the kit has skeletons for each block.

Dashboard

Overview

KPIs with trends, a revenue chart with comparison and crosshair, channels, orders and goals.

Analytics

Pick a metric from the strip and the chart follows. Pages, sources and countries below.

Kanban

Columns with drag and drop, keyboard moves with Alt and the arrows, quick add. Phones swipe column by column.

CRM with detail sheet

Pipeline bar, search and stages. A row opens a sheet from the side, on phones from the bottom.

Activity feed

A timeline grouped by day with filters, quoted comments and who is online.

Finance

Balance across accounts, cash flow bars with tooltips, budgets that warn and transactions.

Details

What Dashboard brings along, read from the registry and the source.

Area
App
Variants
6
Version
1.0.2 · since 1.0.0
File
components/ui/dashboard.tsx
Brings along
utilskitbuttoniconsidebar
npm packages
None
Languages
English and German, 59 texts of its own
Studio
Adjust in code
In collections
App dashboard

Props

The DashboardProps interface from components/ui/dashboard.tsx, with the comments from the code.

  • variantoptional
    DashboardVariant

    overviewanalyticskanbancrm-listactivity-feedfinance

  • sidebarrequired
    Omit<SidebarProps, 'children'>

    The app frame: brand, navigation and user, see Sidebar

  • titlerequired
    string
  • subtitleoptional
    string
  • actionsoptional
    React.ReactNode

    Buttons next to the title

  • currencyoptional
    string
  • kpisoptional
    Kpi[]
  • seriesoptional
    Series[]
  • listsoptional
    { title: string; items: { label: string; value: number }[]; format?: Format }[]

    Ranked lists with a bar, e.g. channels, pages, sources

  • ordersoptional
    { id: string; customer: string; item: string; amount: number; status: string; tone: 'success' | 'warning' | 'neutral' }[]

    overview: recent orders

  • goalsoptional
    { label: string; value: number; target: number; format?: Format }[]

    overview: goals with progress

  • boardoptional
    { id: string; title: string; cards: BoardCard[] }[]

    kanban

  • contactsoptional
    Contact[]

    crm-list

  • stagesoptional
    string[]
  • activityoptional
    ActivityItem[]

    activity-feed

  • incomingoptional
    ActivityItem[]

    activity-feed: events that arrive while the page is open, offered behind a pill

  • filtersoptional
    { value: string; label: string }[]
  • onlineoptional
    string[]
  • accountsoptional
    { name: string; number: string; balance: number }[]

    finance

  • cashflowoptional
    { label: string; income: number; expenses: number }[]
  • budgetsoptional
    { label: string; spent: number; limit: number }[]
  • transactionsoptional
    { id: string; date: string; name: string; category: string; amount: number; icon?: IconName }[]
  • labelsTextoptional
    Partial<(typeof TEXTS)['en']>

Built-in texts

Dashboard writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.

Show all 59 texts
vsPrevEnglish vs. previous periodGerman ggü. Vorperiode
rangeEnglish Time rangeGerman Zeitraum
d7English 7 daysGerman 7 Tage
d30English 30 daysGerman 30 Tage
d90English 90 daysGerman 90 Tage
showTableEnglish Show as tableGerman Als Tabelle zeigen
hideTableEnglish Show as chartGerman Als Diagramm zeigen
chartHintEnglish Use the arrow keys to read each point.German Mit den Pfeiltasten jeden Punkt ablesen.
recentOrdersEnglish Recent ordersGerman Letzte Bestellungen
viewAllEnglish View allGerman Alle ansehen
goalsEnglish Goals this quarterGerman Ziele dieses Quartal
ofEnglish ofGerman von
pickMetricEnglish Pick a metric for the chartGerman Kennzahl für das Diagramm wählen
addCardEnglish Add a cardGerman Karte hinzufügen
newCardEnglish Card titleGerman Titel der Karte
addEnglish AddGerman Hinzufügen
moveHintEnglish Drag, or focus a card and use Alt with the left and right arrows to move it.German Ziehen, oder eine Karte fokussieren und mit Alt und den Pfeiltasten links und rechts verschieben.
movedEnglish {card} moved to {column}German {card} nach {column} verschoben
commentsEnglish {n} commentsGerman {n} Kommentare
dueEnglish Due {date}German Fällig {date}
searchEnglish Search contactsGerman Kontakte suchen
allEnglish AllGerman Alle
dealEnglish Deal valueGerman Auftragswert
ownerEnglish OwnerGerman Betreut von
lastEnglish Last contactGerman Letzter Kontakt
stageEnglish StageGerman Phase
contactEnglish ContactGerman Kontakt
closeEnglish CloseGerman Schließen
timelineEnglish TimelineGerman Verlauf
noteEnglish NoteGerman Notiz
emailEnglish Write emailGerman E-Mail schreiben
callEnglish CallGerman Anrufen
openContactEnglish Open {name}German {name} öffnen
loadMoreEnglish Show older activityGerman Ältere Aktivität zeigen
onlineEnglish Online nowGerman Gerade online
thisWeekEnglish This weekGerman Diese Woche
balanceEnglish Total balanceGerman Gesamtsaldo
accountsEnglish AccountsGerman Konten
cashflowEnglish Cash flowGerman Geldfluss
incomeEnglish IncomeGerman Einnahmen
expensesEnglish ExpensesGerman Ausgaben
budgetsEnglish BudgetsGerman Budgets
leftEnglish {amount} leftGerman noch {amount}
overEnglish {amount} over budgetGerman {amount} über Budget
transactionsEnglish TransactionsGerman Umsätze
noMatchEnglish No contact matches.German Kein Kontakt passt.
priorityEnglish PriorityGerman Priorität
totalEnglish TotalGerman Gesamt
filterEnglish FilterGerman Filter
shareEnglish ShareGerman Anteil
highEnglish HighGerman Hoch
mediumEnglish MediumGerman Mittel
lowEnglish LowGerman Niedrig
undoEnglish UndoGerman Rückgängig
loadingEnglish LoadingGerman Wird geladen
moveNextEnglish Move {card} to the next columnGerman {card} in die nächste Spalte schieben
dropHereEnglish Drop hereGerman Hier ablegen
newEventsEnglish {n} newGerman {n} neu
liveEnglish LiveGerman Live

Accessibility

Read from the source of the component.

  • Dashboard handles the keys Escape, Arrow up, Arrow down, Arrow left, Arrow right, Home, End, Tab and Space itself.
  • Sets aria-busy, aria-checked, aria-controls, aria-haspopup, aria-label, aria-labelledby, aria-live, aria-modal, aria-roledescription, aria-selected, aria-valuemax, aria-valuemin and aria-valuenow, so screen readers announce purpose and state.
  • Uses the roles dialog, img, meter, radio, radiogroup, status, tab, tablist and tabpanel.
  • Announces changes through a live region without moving focus.
  • Every field has a label, visible or for screen readers.
  • Adds text for screen readers where icons and graphics stand alone.
  • Shows a visible focus ring when used with the keyboard.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still. 4 places in the code switch motion off then.

Frequent questions

How do I install Dashboard?

With aiw add @ai-website/dashboard. The command puts components/ui/dashboard.tsx into your project, the code is yours from then on. It brings along button, icon and sidebar. It needs no further npm packages.

Which variants does Dashboard have?

6 variants, Overview, Analytics, Kanban, CRM with detail sheet, Activity feed and Finance. You pick one with the variant prop, for example variant="analytics".

Can I translate the texts of Dashboard?

Yes. Dashboard carries 59 texts of its own in English and German, such as “vs. previous period”, “Time range” and “7 days”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Dashboard?

Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Dashboard with aiw_components and install it with aiw_add @ai-website/dashboard. Name the variant in your prompt, for example variant="overview", and the assistant writes your content straight into the props.

Often searched

Jump to

Copied to the clipboard