A shadcn-style progress linear component built with Ark UI primitives.

50%

Installation

npx shadcn@latest add @ark-cn/progress-linear

Usage

import * as ProgressLinear from "@/components/ui/progress-linear"

Read exported parts in src/components/ui/progress-linear.tsx and compose the primitive according to the Ark UI pattern for this component.

Examples

Default

50%

Min and max

1

Indeterminate

Loading

Value text translations

72%

Vertical

Upload
55%

Root provider

useProgress + RootProvider - 28

External control

Composed anatomy

Anatomy composition
58%

Controlled

42%

View states

Still working...

Context

48% · determinate

With field

66%
Field label and helper; linear bar uses Root, Track, and Range.

Sizes

Small30%
Medium50%
Large80%

Complete

Complete100%

API reference

This component mirrors the upstream Ark UI primitive. All props and DOM behavior are defined by Ark unless you see an ark-cn-only row below.

ProgressLinear

PropTypeDescription
label?ReactNodeOptional label above the track.
showValueText?booleanShows the value text on the right.
size?"sm" | "md" | "lg"Track height tier.
trackClassName?stringClass on the track element.
rangeClassName?stringClass on the range fill.
valueTextClassName?stringClass on the value text.

See the ARK UI documentation for the full API.

Accessibility

See the Ark UI documentation for clarification.