FeedbackAvailable

Progress

Accessible indicator for progress across courses, tasks, and multi-step flows.

Lesson 168%

Installation

Add the component and its dependencies from the registry running on your computer.

terminal
npx shadcn@latest add https://brutallab.facilito.dev/r/progress.json

Usage

Import the component into your project and keep the source code under your control.

tsx
import { Progress } from "@/components/ui/progress"

export function Example() {
  return <Progress value={68} label="Lesson 1" showValue />
}

Variants

Visual options included in the component’s official API.

Lesson 168%
Practice complete100%

States & interaction

Appearance, behavior and keyboard checks.

  • Distinguish loading, progress, success, error and empty data as appropriate. Keep messages understandable without color.
  • The indicator needs no hover. Only actions and dismiss controls receive focus. Respect reduced motion.

API Reference

BrutalLab-specific properties. Native attributes are supported as well.

PropTypeDefaultDescription
number | null0Clamped between 0 and 100. null or a non-finite number is indeterminate.
string—Visible label and accessible name.
stringProgressAccessible name when there is no visible label.
booleanfalseDisplays the percentage to the user.

Accessibility

Rules that should remain intact when adapting the component to a product.

Exposes progressbar semantics and minimum, maximum, and current values.

Use label or aria-label to identify what is progressing.

Animated changes respect prefers-reduced-motion.