MERIDIAN // NEXTUI

StatusPill

Compact status indicator with five semantic states: ok, warn, err, idle, and info. Each state maps to a default label (Healthy, Degraded, Down, Idle, Info) that can be overridden via the label prop.

$npx @voltenworks/shipui add statuspill --theme meridian
Or install the base component for free:
Live Preview
Open full demo
voltenworks.com/shipui/meridian/demo/components#05-status-pill
Usage
TSX
<StatusPill status="ok" />
Variants
<StatusPill status="ok" />
<StatusPill status="warn" />
<StatusPill status="err" />
<StatusPill status="idle" />
<StatusPill status="info" label="Custom label" />
Source
TSX
import type * as React from 'react'

interface StatusPillProps {
  status: 'ok' | 'warn' | 'err' | 'idle' | 'info'
  label?: string
}

const statusLabels: Record<StatusPillProps['status'], string> = {
  ok: 'Healthy',
  warn: 'Degraded',
  err: 'Down',
  idle: 'Idle',
  info: 'Info',
}

export function StatusPill({ status, label }: StatusPillProps): React.JSX.Element {
  return (
    <span className={`mdn-status-pill ${status}`}>
      {label ?? statusLabels[status]}
    </span>
  )
}
Preview in theme demoGet full theme, $49
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from MERIDIAN // NEXT
MERIDIAN // NEXTUI

Button

Dashboard button with primary (solid), secondary (outline), and ghost variants in three sizes. Renders as a Next.js Link when an href is provided.

MERIDIAN // NEXTUI

Badge

Status badge with six color variants: ice, green, amber, red, violet, and surface. Designed for dashboard labels, status indicators, and category tags.

MERIDIAN // NEXTUI

Text

Polymorphic text primitive with body, caption, label, code, and mono variants. Renders as any block or inline HTML tag via the `as` prop.

MERIDIAN // NEXTUI

Card

Composable card with Card, CardHeader, and CardBody sub-components. Uses `mdn-card` CSS classes for consistent dashboard panel styling.