Dashboard
Layout with sidebar and main content area for app dashboards
Same BEM classes and behavior as Astro, Svelte, and Vue.
Add this component
The command below includes <strong>Dashboard</strong>—run it in your project directory to install this component (and the CSS if needed). No prompts.
Choose your package manager — click a tab to select, then copy the command.
npx rizzo-css add Dashboard
pnpm dlx rizzo-css add Dashboard
npx rizzo-css add Dashboard
bunx rizzo-css add Dashboard
Live examples
React
Recent activity
Recent activity list|
| Item one | Done | Today |
| Item two | Pending | Yesterday |
| Item three | Failed | Jan 15 |
Usage
Usage
Full example for each framework (Astro, Vanilla, Svelte, Vue, React). Switch framework via View as or by clicking a Usage tab—both stay in sync.
Astro Vanilla Svelte Vue React ---
import Dashboard from '../components/astro/Dashboard.astro';
import Card from '../components/astro/Card.astro';
---
<Dashboard sidebarLabel="Dashboard navigation">
<nav slot="sidebar" class="dashboard__nav">
<a href="/dashboard" class="dashboard__nav-link dashboard__nav-link--active" aria-current="page">Dashboard</a>
<a href="#" class="dashboard__nav-link">Items</a>
</nav>
<div class="dashboard-page">
<header class="dashboard-page__header">
<h1 class="dashboard-page__title">Dashboard</h1>
</header>
<section class="dashboard-page__stats">
<Card class="dashboard-page__stat"><div class="card__body"><span class="card__label">Total</span><span class="card__value">1,234</span></div></Card>
</section>
</div>
</Dashboard>
<!-- Same structure as Astro live example: sidebar (nav) + main. -->
<div class="dashboard">
<aside class="dashboard__sidebar" aria-label="Dashboard navigation">
<nav class="dashboard__nav">
<a href="/dashboard" class="dashboard__nav-link dashboard__nav-link--active" aria-current="page">Dashboard</a>
<a href="/items" class="dashboard__nav-link">Items</a>
<a href="/settings" class="dashboard__nav-link">Settings</a>
</nav>
</aside>
<main id="main-content" class="dashboard__main">
<h3 style="margin: 0 0 var(--spacing-2);">Main content</h3>
<p style="margin: 0;">Put your page content here. Combine with Card, Table, and other Rizzo components.</p>
</main>
</div>
<script>
import { Dashboard, Card } from '$lib/rizzo';
</script>
<Dashboard sidebarLabel="Dashboard navigation">
<nav slot="sidebar" class="dashboard__nav">
<a href="/dashboard" class="dashboard__nav-link dashboard__nav-link--active" aria-current="page">Dashboard</a>
<a href="#" class="dashboard__nav-link">Items</a>
</nav>
<div class="dashboard-page">
<header class="dashboard-page__header">
<h1 class="dashboard-page__title">Dashboard</h1>
</header>
<section class="dashboard-page__stats">
<Card class="dashboard-page__stat"><div class="card__body"><span class="card__label">Total</span><span class="card__value">1,234</span></div></Card>
</section>
</div>
</Dashboard>
<script setup>
import Dashboard from '@/components/rizzo/Dashboard.vue';
</script>
<template>
<Dashboard>
<template #default>
<aside class="dashboard__sidebar" aria-label="Dashboard navigation">
<nav class="dashboard__nav">
<a href="/dashboard" class="dashboard__nav-link dashboard__nav-link--active" aria-current="page">Dashboard</a>
<a href="/items" class="dashboard__nav-link">Items</a>
<a href="/settings" class="dashboard__nav-link">Settings</a>
</nav>
</aside>
<main class="dashboard__main">
<h3>Main content</h3>
<p>Put your page content here. Combine with Card, Table, and other Rizzo components.</p>
</main>
</template>
</Dashboard>
</template>
import { Dashboard } from './components/react';
<Dashboard
sidebarLabel="Dashboard navigation"
sidebar={
<nav className="dashboard__nav">
<a href="/dashboard" className="dashboard__nav-link dashboard__nav-link--active" aria-current="page">Dashboard</a>
<a href="/items" className="dashboard__nav-link">Items</a>
<a href="/settings" className="dashboard__nav-link">Settings</a>
</nav>
}
>
<div>
<h3>Main content</h3>
<p>Put your page content here. Combine with Card, Table, and other Rizzo components.</p>
</div>
</Dashboard>
Other frameworks: Astro · Vanilla · Svelte · Vue