Skip to content

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

Free

Extra Large Progress for Vue

A progress bar at 60 percent with a 24 pixel track, for a screen where the bar is the focus.

UI library: Ark UI

A bar at 60 percent on a 24 pixel track. The fill is the default primary color, and no label sits beside it.

Use the tall track when progress is the whole message, such as a full-screen install. A Circular Progress can play that role in a square. In Vue, 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 *:data-[slot=progress-track]:h-6"
  :value="60"
/>

FAQ

How is the track's height set?

With a class on Progress, since it has no size prop. *:data-[slot=progress-track]:h-6 makes the track 24px tall. The fill is h-full, so it follows.

How tall is it without the class?

This demo sets no height. Each theme style sets its own, from h-0.5 to h-3.

Does the height change the value?

No. value is 60 out of 100 at any height.

Does the height change the colors?

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

What is the accessible name?

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

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

API Reference

Progress

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