Components/Status Check

Status Check

A dynamic island–style pill that animates through transaction states: idle, processing, completed, and failed.

Installation

pnpm dlx shadcn@latest add https://orbit.ruturaj.xyz/r/status-check.json

Usage

import { ArrowRight, CheckCircle2, Loader2, XCircle } from "lucide-react"
import { StatusCheck } from "@/components/status-check"

export default function Page() {
  return (
    <StatusCheck
      idle={{ label: "Start Transaction", icon: ArrowRight, dotColor: "#9ca3af", iconClass: "text-muted-foreground" }}
      processing={{ label: "Processing", sublabel: "Verifying payment...", icon: Loader2, iconClass: "text-blue-400", dotColor: "#60a5fa", spin: true }}
      completed={{ label: "Completed", sublabel: "Payment successful", icon: CheckCircle2, iconClass: "text-emerald-400", dotColor: "#34d399", glowColor: "#34d399" }}
      failed={{ label: "Failed", sublabel: "Transaction declined", icon: XCircle, iconClass: "text-red-400", dotColor: "#f87171", glowColor: "#f87171" }}
    />
  )
}

Examples

Failure

Same config with simulateFailure to always end in the failed state.

Deploy

Custom labels and icons for a deployment flow.

Charge

Custom labels and colors for a payment charge flow.