@rhds/elements
Version:
Red Hat Design System Elements
80 lines (79 loc) • 2.34 kB
TypeScript
import { LitElement } from 'lit';
import '../rh-spinner/rh-spinner.js';
type Impact = 'none' | 'minor' | 'major' | 'critical';
type StatusKey = 'operational' | 'degraded_performance' | 'partial_outage' | 'major_outage';
interface Page {
id?: string;
name?: string;
updated_at?: string;
url: string;
}
/** @see https://metastatuspage.com/api#status */
interface Status {
description: string;
indicator: Impact;
}
/** @see https://metastatuspage.com/api#components */
interface Component {
status: StatusKey;
name: string;
/** ISO-8601 Date time format string */
created_at: string;
/** ISO-8601 Date time format string */
updated_at: string;
position: number;
description: string | null;
showcase: boolean;
/** ISO-8601 Date time format string */
start_date: string | null;
id: string;
page_id: string;
group_id: string | null;
components: string[];
}
interface Incident {
created_at: string;
id: string;
impact: Impact;
name: string;
page_id: string;
status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem';
resolved_at: string | null;
updated_at: string | null;
shortlink: string;
monitoring_at: string | null;
incident_updates: unknown[];
}
/** @internal */
export interface SummaryResponse {
page: Page;
status: Status;
components: Component[];
incidents: Incident[];
}
/**
* Website status communicates the operational status of a website or domain using a status icon and
* link. It is usually located in the Footer component.
* @summary Communicates operational status of a website or domain
* @slot loading-text - Text to display while loading the status defaults to "Loading"
*/
export declare class RhSiteStatus extends LitElement {
#private;
static readonly styles: CSSStyleSheet[];
private static dataURI;
private static fetchOptions;
/**
* Sets color theme based on parent context
*/
private on?;
/** secret testing-only domain override */
private set __TESTING_ONLY_DONT_USE_OR_WELL_TELL_YOUR_BOSS__domain__(value);
connectedCallback(): void;
render(): import("lit").TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'rh-site-status': RhSiteStatus;
}
}
export {};