<px-uptime>Custom elementData, in pixelsFree
Uptime history
Ninety days of uptime per service as pixel columns swept in on load; hovering a day lifts that column across all services.
Installation
pnpm dlx shadcn@latest add @lumesec/px-uptimeFirst timeRegister the @lumesec registry once, or install by URL+
Adds @lumesec to your components.json:
pnpm dlx shadcn@latest registry add @lumesec=https://elements.lumesec.ai/r/{name}.jsonOr skip the setup and install by URL:
npx shadcn@latest add https://elements.lumesec.ai/r/px-uptime.jsonUsage
import { PxUptime } from "@/components/lumesec/px-uptime";
export function Example() {
return (
<PxUptime />
);
}Behaviour
Ninety days per service as pixel columns, swept in on load. Hovering a day lifts that column across every service and shows what happened.
Accessibility
- The canvas has
role="img"and a fixedaria-label="Uptime for the last 90 days". - Per-day details appear in a tooltip on pointer hover only; there is no keyboard access to individual days.
- Reduced motion: all columns appear at once instead of sweeping in from the left.
Theming
The element reads your shadcn theme tokens through its shadow root, so light and dark follow your theme. The accent comes from --lumesec. See Theming.
This component reads --card, --foreground, --lumesec and --muted-foreground.
To restyle only LumeSec elements, set the matching --ui-* overrides: --ui-accent, --ui-fg, --ui-mono, --ui-muted and --ui-surface.
Notes
- The services (API, Console, Workflows), their daily statuses, incident durations and uptime percentages are generated demo data; there is no attribute for real data.
- Each day is 5px wide, so narrow containers show fewer than 90 days; the left label states the actual count.
- The canvas is 168px tall.
Related
<px-splitflap>
Split-flap boardpx-splitflapOpen Split-flap board<px-activity>
Activity heatmappx-activityOpen Activity heatmap<px-storage>
Storage ringpx-storageOpen Storage ringWas this page helpful?