Skip to content
Protocore Design Systemv1.6.9
Patterns / Console

Operator console

The application surface: an app shell with a staging strip, KPI cards, and a server-driven data table with a detail sheet.

CONSOLE
Live · @protocore/pds
Staging — transactions are simulated and settle against test rails.STAGING
/// CONSOLE

Transactions

Every movement across your connected rails, in real time.

Cleared today
€48,072+12.4%
Pending
€5,324-3.1%
Median finality
180ms
Reversal rate
0.12%-0.4
1,328 transactions
TransactionAccountRailStatusAmount
sepasettled+€128.40
cardpending+€4,120.00
separeversed−€980.00
wiresettled+€42,500.00
cardsettled+€57.80
sepapending+€1,204.00

When to use

The console is the application itself — the surface an operator lives in. It frames the work with an AppShell: a staging EnvStrip so nobody mistakes test data for production, a top bar with system health, and a persistent sidebar. Inside, a KPI row summarizes the state of the world, and a server-driven DataTable is the workhorse. Rows open a detail Sheet rather than navigating away, so the operator never loses their place.

Use it for every authenticated, data-dense screen. Marketing lives in the home and product patterns; this is where the product is operated.

Structure

01
App shell
AppShell composes the staging EnvStrip, the TopBar, and the Sidebar into one responsive frame — the sidebar becomes an off-canvas drawer under 860px.
02
Environment strip
A staging EnvStrip pinned to the top, in its loud wayfinding form, so simulated data is never confused with live.
03
Sidebar
Grouped Sidebar.Items with mono group labels and one active marker in the reserved accent.
04
Page header
A compact PageHeader names the view and carries the primary action.
05
KPI row
An auto-fit Grid of StatCards, each with a MetricDelta and, where it earns it, a Sparkline with the one accent signal dot.
06
Data table
A DataTable with realistic rows: CodeRef ids, tone Badges, right-aligned MoneyAmount, server sort, and click-to-open rows.
07
Detail sheet
Clicking a row opens a Sheet with a DefinitionList of the record — inspect without leaving the table.

Design the five states

A console table is never just its populated state. DataTable renders all five natively — design copy for each before you ship:

  • Loading — skeleton rows via loading, so layout never jumps.
  • Populated — the default; keep the summary count honest (server total, not page length).
  • Empty — a purposeful emptySlot that tells the operator what to do next, not a blank grid.
  • Error — an error payload with a copyable debugId and a retry.
  • Selection — the selection bar with capability-gated bulk actions.

Key components

Open any component to read its full API and live examples.