Skip to content

shadcn.io is an independent project built on shadcn/ui

Free

Empty Progress for Svelte

An empty progress track at 0 percent, before the upload starts, with nothing filled in and no visible label.

UI library: Ark UI

An empty track. The bar is at 0 percent, so nothing is filled in, and there is no visible label beside it.

Use an empty bar before the work starts, so the track is there when the first update arrives. A Skeleton fits when you are waiting on content, not on a known task. In Svelte, Ark UI does not move the bar on its own.

Preview

Preview width

Installation

MCP · Pro
Make your AI a shadcn expert
Your agent installs components, builds pages and restyles your app from one prompt, in Claude Code, Cursor or VS Code.
Part of Pro

Anatomy

Progress anatomy: root, label, value, track, indicator

Usage

<Progress aria-label="Upload progress" class="w-full max-w-md" value={0} />

FAQ

What does the bar show?

value is 0, so the track is empty. The track is still drawn, so the bar keeps its place in the layout.

Is 0 the same as an indeterminate bar?

No. 0 is a measured amount: the work hasn't started yet. Pass null as value when you can't measure the work; the bar then reports an indeterminate state. For a wait with nothing to measure, a Spinner is usually clearer.

What is the accessible name?

Ark UI puts the progressbar role on the track and names it with the value text, here 0%. The aria-label, Upload progress, sits on the root element, so put what the bar measures in visible text nearby when it matters.

How do I start filling it?

Change value as the work advances. This demo passes a fixed 0. Always pass value: without one, Ark UI starts the bar at 50.

Which colors does it use?

The fill is bg-primary and the track bg-muted, from the theme's progress styles. This demo adds no color class.

What if my maximum isn't 100?

Pass value in the same units as the maximum. Set max on Progress: 5 steps of 5 is max 5 and value 5.

API Reference

Progress

Sets aria-label="Upload progress" and value={0}. The rest is on the Progress page.