BlockDex

Components

Registries

Free blocks

Method

BlockDex

Components

Registries

Free blocks

Method

Open API

BlockDex

Components

Registries

Free blocks

Method

Open API

Components/openstatus/status-component

Status Component

openstatus/status-component
FreeBlock

Monitor component primitives for building status displays

Install it

npx shadcn@latest add https://openstatus.dev/r/status-component.json

Source

src/components/blocks/status-component.tsxopenstatus.dev/r/status-component.json · first 6 KB
1"use client";
2
3import { useStatusBlocksLabels } from "@/components/blocks/status-i18n";
4import { StatusIcon as UnifiedStatusIcon } from "@/components/blocks/status-icon";
5import type {
6 StatusBarData,
7 StatusType,
8} from "@/components/blocks/status.types";
9import { Skeleton } from "@/components/ui/skeleton";
10import {
11 Tooltip,
12 TooltipContent,
13 TooltipProvider,
14 TooltipTrigger,
15} from "@/components/ui/tooltip";
16import { useMediaQuery } from "@/hooks/use-media-query";
17import { cn } from "@/lib/utils";
18import { formatDistanceToNowStrict, subDays } from "date-fns";
19import { ArrowUpRight, InfoIcon } from "lucide-react";
20import { useState } from "react";
21
22// ============================================================================
23// Layout Components
24// ============================================================================
25
26interface StatusComponentProps extends React.ComponentProps<"div"> {
27 variant: Exclude<StatusType, "empty">;
28}
29
30/**
31 * StatusComponent - Root container for individual monitor/service status displays
32 *
33 * This component serves as the main container for displaying a single monitor or
34 * service status. It establishes the status type context via data-variant attribute,
35 * which child components (like StatusComponentIcon and StatusComponentStatus) use
36 * to display the appropriate colors and icons.
37 *
38 * The component acts as a CSS group (/component) for advanced selector patterns,
39 * enabling child components to style themselves based on the parent's variant.
40 *
41 * @param variant - The status type (success, degraded, error, or info)
42 *
43 * @example
44 * ```tsx
45 * <StatusComponent variant="success">
46 * <StatusComponentHeader>
47 * <StatusComponentHeaderLeft>
48 * <StatusComponentIcon />
49 * <StatusComponentTitle>API Server</StatusComponentTitle>
50 * <StatusComponentDescription>Main API endpoint</StatusComponentDescription>
51 * </StatusComponentHeaderLeft>
52 * <StatusComponentHeaderRight>
53 * <StatusComponentUptime>99.9%</StatusComponentUptime>
54 * <StatusComponentStatus />
55 * </StatusComponentHeaderRight>
56 * </StatusComponentHeader>
57 * <StatusComponentBody>
58 * <StatusBar data={uptimeData} />
59 * </StatusComponentBody>
60 * </StatusComponent>
61 * ```
62 *
63 * @see StatusComponentHeader - For header layout
64 * @see StatusComponentBody - For content area
65 * @see StatusComponentIcon - For status indicator icon
66 * @see StatusComponentStatus - For status label
67 */
68// … truncated

What it pulls in

npm packages

  • date-fns
  • lucide-react

Other registry items

  • https://openstatus.dev/r/status-icon.json
  • https://openstatus.dev/r/status-types.json
  • https://openstatus.dev/r/status-utils.json
  • https://openstatus.dev/r/status-i18n.json
  • skeleton
  • tooltip
  • https://openstatus.dev/r/use-media-query.json

Files it writes

  • src/components/blocks/status-component.tsx

Facts

Registry
openstatus
Type
registry:block
Access
Free
Files written
1
Licence
AGPL-3.0
First indexed
2026-08-01
Last confirmed
yesterday

Go to the source

openstatus.dev openstatusHQ/openstatus on GitHub Raw registry item This item as JSON

More from openstatus

All 26 items
Same registry, same kind — the ones you would have found next
ComponentRegistryKindAccessInstallsCommand
Status Bannerstatus-banneropenstatusBlocksFreeno deps
Status Barstatus-baropenstatusBlocksFree1 dep
Status Blank Statesstatus-blankopenstatusBlocksFreeno deps
Status Calendarstatus-calendaropenstatusBlocksFree3 deps
Status Page Chromestatus-chromeopenstatusBlocksFreeno deps
Status Page (Complete)status-completeopenstatusBlocksFreeno deps
Status Component Groupstatus-component-groupopenstatusBlocksFreeno deps
Status Page (Essentials)status-essentialsopenstatusBlocksFreeno deps
BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex

BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex

BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex