Dashboard
Dashboard layouts with stat cards, charts, and data tables. Build comprehensive admin interfaces and analytics views.
Overview
Dashboard patterns combine multiple components to create data-rich interfaces. These layouts organize statistics, visualizations, and tabular data in a way that's easy to scan and understand.
Key features:
- Stat cards using
<dl>/<dt>/<dd>for semantic label/value pairs <progress-ring>for percentage metrics in stat cards- Chart placeholder layouts for any visualization library
- Native
<table>styling with<layout-badge>for status and<user-avatar>for identity - Responsive grid layouts using
data-layout-minfor automatic column sizing - Consistent spacing and
<layout-card>-based organization
Stats Grid Dashboard
A dashboard focused on key metrics displayed in stat cards. Uses <dl>/<dt>/<dd> for semantic markup and <progress-ring> for the completion percentage.
Stat Card Styles
Charts Dashboard
A dashboard layout with chart placeholders for analytics and data visualization. Uses a responsive grid for chart positioning with compact stat cards at the top.
Chart Placeholder Styles
Data Table Dashboard
A dashboard centered on tabular data with a filter bar, status badges via <layout-badge>, user avatars via <user-avatar>, and row actions. Uses native <table> styling from Vanilla Breeze.
Table Wrapper
Configuration
Dashboard patterns use these layout attributes and components:
| Element | Attribute | Values | Description |
|---|---|---|---|
data-layout="grid" |
data-layout-min |
CSS length (e.g. 200px) |
Minimum column width before wrapping |
data-layout="grid" |
data-layout-gap |
xs s m l xl |
Gap between grid items |
data-layout="cluster" |
data-layout-justify |
start center end between |
Horizontal distribution |
data-layout="cluster" |
data-layout-align |
start center end |
Vertical alignment |
data-layout="cluster" |
data-layout-gap |
xs s m l xl |
Gap between items |
data-layout="stack" |
data-layout-gap |
xs s m l xl 2xl |
Vertical spacing |
layout-card |
data-padding |
none s m l xl |
Card padding |
layout-card |
data-variant |
elevated outlined ghost |
Card style |
layout-badge |
data-color |
success warning error info primary |
Badge color |
layout-badge |
data-variant |
subtle outlined |
Badge style |
layout-badge |
data-size |
sm lg |
Badge size |
user-avatar |
data-size |
xs sm md lg xl |
Avatar size |
progress-ring |
data-size |
xs s m l xl |
Ring size |
progress-ring |
data-variant |
success warning error info |
Ring color |
progress-ring |
--progress |
0–100 (CSS custom property) |
Progress value |
Usage Notes
- Semantic stat cards: Use
<dl>/<dt>/<dd>for label/value pairs — reset default margins withlayout-card dl, layout-card dd { margin: 0 } - Native tables: Vanilla Breeze styles
<table>elements directly — no custom classes needed. Wrap in.data-table-wrapperfor horizontal scrolling on small screens. - Loading states: Show skeleton placeholders while data loads to prevent layout shift
- Responsive layout: The grid automatically adjusts columns based on
data-layout-min; test on mobile to ensure usability - Chart libraries: Chart placeholders work with any library (Chart.js, D3, ApexCharts, etc.)
- Semantic colors: Use
--color-successfor positive trends,--color-dangerfor negative - Empty states: Provide helpful empty states when no data is available
- Accessibility: Ensure tables have proper
scopeattributes and buttons havearia-label - Real-time updates: Consider using subtle animations when stats update dynamically
Related
App Shells
Application shell layouts with navigation
Stats
Stat card patterns and change indicators
Card
Card component with padding and variant options
Badge
Status badges with semantic colors
User Avatar
Avatar component with fallback initials
Icon
SVG icon component with size variants
Progress Ring
Circular progress indicator