1Sponsor

Multi Progress

Parallel progress display for package managers, build pipelines, and deploy tools

Terminal

Installation

pnpm dlx shadcn@latest add https://termcn.dev/r/multi-progress.json

Usage

import { MultiProgress } from "@/components/ui/multi-progress";
<MultiProgress
  items={[
    {
      id: "api",
      label: "API Server",
      value: 80,
      total: 100,
      status: "running",
    },
    { id: "db", label: "Database", value: 100, total: 100, status: "done" },
    { id: "cache", label: "Redis", value: 30, total: 100, status: "running" },
  ]}
/>

Examples

Compact Mode

Terminal
import { MultiProgress } from "@/registry/ui/multi-progress";

export default function MultiProgressCompact() {
  return (
    <MultiProgress
      compact
      items={[
        { id: "1", label: "eslint", status: "running", total: 100, value: 50 },
        { id: "2", label: "tsc", status: "done", total: 100, value: 100 },
      ]}
    />
  );
}

API Reference

MultiProgress

PropTypeDefault
itemsMultiProgressItem[]required
barWidthnumber20
labelWidthnumber20
compactbooleanfalse
showPercentbooleantrue

MultiProgressItem

PropTypeDefault
idstringrequired
labelstringrequired
valuenumberrequired
totalnumberrequired
status"pending" | "running" | "done" | "error"undefined
statusTextstringundefined