@uptime.link/catalog

the statuspage of uptime.link

readme.md for @uptime.link/catalog

@uptime.link/statuspage

🚀 A powerful collection of web components for building stunning status pages — because your users deserve to know what's happening, and you deserve to look good while telling them.

Built with Lit and TypeScript, these components are designed to be composable, customizable, and production-ready out of the box.

Issue Reporting and Security

For reporting bugs, issues, or security vulnerabilities, please visit community.foss.global/. This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a code.foss.global/ account to submit Pull Requests directly.


✨ Features


📦 Installation

npm install @uptime.link/statuspage

Or with pnpm:

pnpm add @uptime.link/statuspage

🚀 Quick Start

Import the components and start building:

Then use them in your HTML:

<upl-statuspage-header></upl-statuspage-header>
<upl-statuspage-statusbar></upl-statuspage-statusbar>
<upl-statuspage-incidents></upl-statuspage-incidents>
<upl-statuspage-footer></upl-statuspage-footer>

🧩 Components

<upl-statuspage-header>

The main navigation header with branding and action buttons.

Property Type Default Description
pageTitle string 'Status' Title displayed in the header
logoUrl string '' URL to your logo image
showReportButton boolean false Show "Report Incident" button
showSubscribeButton boolean false Show "Subscribe" button

Events:


<upl-statuspage-pagetitle>

A hero section with title and subtitle.

Property Type Default Description
pageTitle string 'System Status' Main heading
pageSubtitle string '' Optional description text
centered boolean false Center-align the content

<upl-statuspage-statusbar>

The overall status indicator — the heart of any status page.

Property Type Default Description
overallStatus IOverallStatus Current system status object
loading boolean false Show loading skeleton

The status object supports: operational, degraded, partial_outage, major_outage, maintenance


<upl-statuspage-statsgrid>

Key metrics at a glance — uptime, response time, incidents.

Property Type Default Description
currentStatus string 'operational' Current status indicator
uptime number 100 Uptime percentage
avgResponseTime number 0 Average response time (ms)
totalIncidents number 0 Incident count
affectedServices number 0 Currently affected services
totalServices number 0 Total monitored services
timePeriod string '30 days' Time range label
loading boolean false Show loading skeleton

<upl-statuspage-assetsselector>

Interactive service selector with filtering and search.

Property Type Default Description
services IServiceStatus[] [] Array of service objects
filterText string '' Search filter text
filterCategory string 'all' Category filter
showOnlySelected boolean false Show only selected services
loading boolean false Show loading state
expanded boolean false Expand the selector panel

Events:


<upl-statuspage-statusdetails>

Hourly status timeline visualization.

Property Type Default Description
dataPoints IStatusHistoryPoint[] [] Hourly status data
historyData IStatusHistoryPoint[] [] Alternative data property
serviceId string '' Service identifier
serviceName string 'Service' Display name
hoursToShow number 48 Number of hours to display
loading boolean false Show loading skeleton

Events:


<upl-statuspage-statusmonth>

Calendar-style monthly uptime visualization.

Property Type Default Description
monthlyData IMonthlyUptime[] [] Monthly uptime data
serviceId string 'all' Service identifier
serviceName string 'All Services' Display name
loading boolean false Show loading skeleton

Events:


<upl-statuspage-incidents>

Incident feed with expandable details and status updates.

Property Type Default Description
currentIncidents IIncidentDetails[] [] Active incidents
pastIncidents IIncidentDetails[] [] Resolved incidents
maxPastIncidents number 10 Max past incidents to show
loading boolean false Show loading skeleton
enableSubscription boolean false Allow incident subscriptions
subscribedIncidentIds string[] [] Pre-subscribed incident IDs

Events:


<upl-statuspage-footer>

Property Type Default Description
companyName string '' Company name
legalUrl string '' Terms/legal page URL
supportEmail string '' Support email address
statusPageUrl string '' Status page URL
lastUpdated number Last update timestamp
currentYear number 2024 Copyright year
socialLinks ISocialLink[] [] Social media links
rssFeedUrl string '' RSS feed URL
apiStatusUrl string '' Status API URL
enableSubscribe boolean false Show subscribe button
subscriberCount number 0 Display subscriber count
additionalLinks IFooterLink[] [] Extra footer links

Events:


📐 Interfaces

All TypeScript interfaces are exported for type safety:

import type {
  IServiceStatus,
  IStatusHistoryPoint,
  IIncidentDetails,
  IIncidentUpdate,
  IMonthlyUptime,
  IUptimeDay,
  IOverallStatus,
  IStatusPageConfig,
  ISubscription
} from '@uptime.link/statuspage';

Key Interfaces

interface IServiceStatus {
  id: string;
  name: string;
  displayName: string;
  description?: string;
  currentStatus: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
  lastChecked: number;
  uptime30d: number;
  uptime90d: number;
  responseTime: number;
  category?: string;
  selected?: boolean;
}

interface IIncidentDetails {
  id: string;
  title: string;
  status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem';
  severity: 'critical' | 'major' | 'minor' | 'maintenance';
  affectedServices: string[];
  startTime: number;
  endTime?: number;
  updates: IIncidentUpdate[];
  impact: string;
  rootCause?: string;
  resolution?: string;
}

interface IOverallStatus {
  status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
  message: string;
  lastUpdated: number;
  affectedServices: number;
  totalServices: number;
}

🎬 Complete Example

Build a full status page in minutes:


📄 Pre-built Page Templates

The package includes ready-to-use page templates:

import {
  statuspageDemo,      // Full demo with sample data
  statuspageAllgreen,  // All systems operational
  statuspageOutage,    // Major outage scenario
  statuspageMaintenance // Scheduled maintenance
} from '@uptime.link/statuspage/pages';

🎨 Theming

Components automatically adapt to light/dark mode using cssManager.bdTheme(). The design follows a modern, minimal aesthetic with:


This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the license.md file.

Please note: The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.

Trademarks

This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein.

Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar.

Company Information

Task Venture Capital GmbH Registered at District Court Bremen HRB 35230 HB, Germany

By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.

changelog.md for @uptime.link/catalog

2025-12-29 - 1.5.1 - fix(statuspage)

no changes (empty commit)

2025-12-28 - 1.5.0 - feat(html)

configure deesWccTools with sections metadata for Elements and Pages

2025-12-28 - 1.4.2 - fix(deps)

add MIT license, update package metadata and bump dependencies; simplify docs

2025-12-24 - 1.4.1 - fix(statuspage)

no changes detected; no version bump

2025-12-24 - 1.4.0 - feat(statuspage-incidents)

Add status icons/labels and revamp incident header layout; replace left border with internal severity bar and clean up formatting

2025-12-23 - 1.3.1 - fix(statuspage)

update timeline connector and dot positioning in statuspage incidents component

2025-12-23 - 1.3.0 - feat(statuspage)

use dynamic status-based accent colors and computed card statuses; update stat card markup and incident/response displays

2025-12-23 - 1.2.0 - feat(statuspage-ui)

improve styling and animations across status page components

2025-12-23 - 1.1.0 - feat(statuspage)

refactor shared styles and modernize components for consistent theming, spacing and APIs

2024-06-27 - 1.0.74 - fix(core)

Updated font loading strategy in index.html for improved performance

2024-06-26 - 1.0.73 - fix(documentation)

Update project description and keywords in package.json and npmextra.json. Refactored documentation in readme.md.

2024-06-26 - 1.0.72 - fix(core)

Fixed incorrect import paths and updated configurations for package publication.

2023-01-05 - 1.0.69 to 1.0.71 - core

Multiple updates.

2022-03-24 - 1.0.67 to 1.0.69 - core

Multiple updates.

2021-09-27 - 1.0.60 to 1.0.66 - core

Multiple updates.

2021-09-24 - 1.0.59 to 1.0.60 - core

Fixes and updates.

2021-09-23 - 1.0.58 to 1.0.59 - core

Fixes and updates.

2020-11-29 - 1.0.57 to 1.0.58 - core

Fixes and updates.

2020-09-19 - 1.0.55 to 1.0.57 - core

Fixes and updates.