+ Single-row dense hero — logo + title + version + inline stats
+
+
+
+
+
+
+
+
+
+
+
+
+ Body content renders below — no separate KpiRow needed since stats are absorbed into the
+ hero strip.
+
+
+ );
+}
+
+// -----------------------------------------------------------------------------
+// Rail-anchored identity demo (canonical: pages/cliproxy.tsx)
+//
+// Page identity (brand + page-level CTA + status) lives inside the left rail of
+// a Config 3-pane layout. Zero top chrome. The body archetype gets the full
+// vertical viewport. Use for multi-entity Config pages where the rail naturally
+// carries the page name.
+// -----------------------------------------------------------------------------
+
+function DemoRailAnchored() {
+ const [selectedId, setSelectedId] = useState('provider-a');
+
+ const railHeader = (
+
+ {/* Brand strip — replaces the global PageHeader */}
+
+
+
+
+
Demo Brand
+
+
+
+
Page subtitle / description
+
+
+
+ {/* Provider list */}
+
+
+
+ Providers
+
+
+ {DEMO_PROVIDERS.map((p) => (
+
+ ))}
+
+
+
+
+ {/* Footer status */}
+
+
+ 4 providers
+
+ 1 connected
+
+
+
+
+ );
+
+ return (
+
+ {/* NOTE: NO PageHeader at the top. Identity is inside the rail. */}
+ Provider A}
+ footer={}
+ >
+
+
+
+
+ }
+ json={}
+ />
+
+ );
+}
+
+// -----------------------------------------------------------------------------
+// PageHeader demo (canonical: pages/health.tsx)
+//
+// Traditional title row with description and trailing actions. Use when the
+// page does NOT fit either canonical hero AND the description carries
+// non-redundant context (last refresh, page hierarchy, filter state, version).
// -----------------------------------------------------------------------------
function DemoPageHeader() {