Xzero UI
Pro library

Uptime statusPro

A status page with 90 day uptime bars, a morphing latency chart and an incident timeline.

$ pnpm dlx shadcn@4.23.0 add @xzero-ui-pro/uptime-status
Live · keyboard ready

Use this as a public or internal status page. Feed your incident history and monitor latency into uptime-data.ts; day bars, uptime percentages and chart scales are derived from them, and the incident button is a simulation.

When to use

When not to use

Installation

Register both Xzero UI namespaces in your project's components.json:

{
  "registries": {
    "@xzero-ui": "https://mcp.xzero.co.uk/r/{name}.json",
    "@xzero-ui-pro": "https://mcp.xzero.co.uk/r/pro/{name}.json"
  }
}
npx shadcn@4.23.0 add @xzero-ui-pro/uptime-status

Install xzero-foundation once, and import @/components/xzero/foundation.css in your app root. No Xzero token is used by this snapshot. For sample portraits, photos, fonts, or logos, download https://mcp.xzero.co.uk/install-assets.mjs and run node xzero-install-assets.mjs <receiving-project>.

Usage

import { UptimeStatus } from "@/components/xzero/blocks/uptime-status/uptime-status";

export default function StatusPage() {
  return (
    <main>
      <UptimeStatus />
    </main>
  );
}

API reference

UptimeStatus

A status page with 90 day uptime strips per service, a response time chart and an incident timeline. Takes no props; services, days, latency and incidents are sample data in uptime-data.ts, and the incident button is a simulation.

No props.

Keyboard interactions

KeysAction
Arrow left / Arrow rightInspects the previous or next day on a service strip, or the previous or next half hour on the latency chart.
Page up / Page downJumps a week on a service strip.
Home / EndJumps to the first or latest point.
Enter / SpaceSelects the focused service so the latency chart follows it.
EscapeClears the inspected day or point.

Accessibility

Motion

Responsive behavior

Performance

Notes for AI

Guidance for AI tools

Blocks are complete, self-contained screens with sample data. Replace the sample data and connect the callbacks described above. Follow the declared prop types and do not invent props. Keep keyboard access, reduced motion support, and both light and dark themes intact when adapting it.

Full library index: https://ui.xzero.co.uk/llms.txt

Browse all components