Dither Progress

A progress bar whose leading edge breaks into pixels.

Dither Progress in an export dialog
Still frame

Installation

pnpm dlx shadcn@latest add @gradients-pro/dither-progress

Needs a Pro account and the Pro registry setup.

Usage

import { DitherProgress } from "@/components/dither-progress";

<DitherProgress label="Uploading assets" value={40} />;

Leave out value for an indeterminate bar.

Props

PropTypeDefaultDescription
valuenumbernone0 to 100. Leave it out for an indeterminate bar.
labelstringrequiredAccessible name, such as "Uploading assets".
heightnumber6Track height in CSS pixels.
palette"ultramarine" | "ember" | "mono" | string[]"ultramarine"A curated ramp, or your own 2 to 6 CSS colours from faint to hot (var(--x) included). Curated ramps switch between a light and a dark version with your theme.
cellnumber2Size of one dither cell in CSS pixels.
scheme"light" | "dark"follows the pageForces a colour scheme. By default it reads a dark or light class (or data-theme) on <html>, then the system setting.
className, other div propsPassed to the track.