Skip to content

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

Free

Complete Progress for Svelte

A progress bar at 100 percent, filled to the end of the track, with no empty stretch left.

UI library: Ark UI

A single bar filled all the way, at 100 percent. The track has no empty stretch left, and there is no visible label.

Use a full bar when the task is finished and the track should stay on screen. A Status can replace it once you no longer need the meter. In Svelte, Ark UI shows only the value you pass.

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={100} />

FAQ

What does the bar show?

value is 100 on the default range of 0 to 100, so the fill covers the whole track. w-full max-w-md sets its width.

Does the bar turn green at 100?

No. The fill stays bg-primary at every value. To show success, add a color class, as Success does, or replace the bar with a message.

What is the accessible name?

Ark UI puts the progressbar role on the track and names it with the value text, here 100%. 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 get the bar to 100?

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

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.

What should happen after 100?

That's up to you: this demo only draws the bar. Say what finished in text, or move people on, so they aren't left looking at a full bar.

API Reference

Progress

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