Prometheus Design System

Navbar

The three top-level nav buttons inside the header — Query, Alerts, Status. Active state uses solid brand-blue fill; inactive is transparent with light-gray text.

DO

Render exactly one active button at a time, matching the current top-level route.

DON'T

Use Navbar styling outside the header — in-page section nav should use Tab Control instead.

Design

active

Query

Current route — solid brand-blue fill, white label.

inactive

Alerts

Transparent background, light-gray label. Hover lightens label.

Component reference (screenshots)
/query
/query light
/alerts
/alerts light
/targets
/targets light
/rules
/rules light
/service-discovery
/service-discovery light
/status
/status light
/tsdb-status
/tsdb-status light
/flags
/flags light
/config
/config light
/alertmanager-discovery
/alertmanager-discovery light

Placeholder screenshots — the audited app is live at prometheus-e83j.onrender.com.

Implementation

<a class="nav-btn" aria-current={isActive ? 'page' : undefined}>{label}</a>

Layout

PropertyValue
height36px control-height
padding8px 16px
font-size14px
border-radius4px sm

Accessibility

ARIAUse <a> with aria-current='page' on the active route, not a visual-only class.
KeyboardStandard link semantics; focus ring inherits brand-blue.