Skip to main content

Analytics Dashboard

KPI metrics, line/bar charts, date range filter, and export controls.

Components used: Layout · Sidebar · Header · StatsCard · DashboardGrid · Charts · FilterBar · DatePicker · ExportMenu · Card

Preview · Analytics Dashboard

Code

<div style="display:flex;flex-direction:column;height:460px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-medium);overflow:hidden">
<div style="padding:0.875rem 1.5rem;border-bottom:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:space-between;flex-shrink:0">
<div>
<div style="font-weight:700;font-size:0.9rem">Analytics</div>
</div>
<div class="hstack">
<input type="date" value="2026-02-01" style="max-width:140px" />
<span style="font-size:0.8rem;color:var(--muted-foreground)">to</span>
<input type="date" value="2026-03-03" style="max-width:140px" />
<select style="max-width:120px"><option>All tenants</option><option>Acme Corp</option><option>Globex</option></select>
<button class="outline small">Export</button>
</div>
</div>
<div style="flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem">
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem">
<div class="card stat">
<span class="card-label">Total Signups</span>
<span class="card-value">1,247</span>
<span class="card-delta up">+22%</span>
</div>
<div class="card stat">
<span class="card-label">Active Tenants</span>
<span class="card-value">142</span>
<span class="card-delta up">+8</span>
</div>
<div class="card stat">
<span class="card-label">Avg Session</span>
<span class="card-value">14.2 min</span>
<span class="card-delta up">+3 min</span>
</div>
<div class="card stat">
<span class="card-label">Conversion</span>
<span class="card-value">34.8%</span>
<span class="card-delta down">-2.1%</span>
</div>
</div>
<div class="card" style="padding:1.25rem;flex:1">
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem">
<span style="font-size:0.8125rem;font-weight:600">Signups over time</span>
<div class="hstack">
<button class="ghost small" style="font-size:0.75rem;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)">Day</button>
<button class="ghost small" style="font-size:0.75rem">Week</button>
<button class="ghost small" style="font-size:0.75rem">Month</button>
</div>
</div>
<div style="display:flex;align-items:flex-end;gap:4px;height:80px">
<div style="flex:1;background:var(--primary);opacity:0.35;border-radius:3px 3px 0 0;height:30%"></div>
<div style="flex:1;background:var(--primary);opacity:0.45;border-radius:3px 3px 0 0;height:45%"></div>
<div style="flex:1;background:var(--primary);opacity:0.55;border-radius:3px 3px 0 0;height:60%"></div>
<div style="flex:1;background:var(--primary);opacity:0.65;border-radius:3px 3px 0 0;height:55%"></div>
<div style="flex:1;background:var(--primary);opacity:0.75;border-radius:3px 3px 0 0;height:72%"></div>
<div style="flex:1;background:var(--primary);opacity:0.85;border-radius:3px 3px 0 0;height:68%"></div>
<div style="flex:1;background:var(--primary);border-radius:3px 3px 0 0;height:100%"></div>
</div>
<div style="display:flex;justify-content:space-between;font-size:0.7rem;color:var(--muted-foreground);margin-top:4px">
<span>Feb 1</span><span>Feb 8</span><span>Feb 15</span><span>Feb 22</span><span>Mar 1</span>
</div>
</div>
</div>
</div>