Pallas UI
DocsComponents
Core Concepts
    • Introduction
    • Getting Started
    • Theming
    • Color Tokens
    • Spacing & Sizing
    • Layout Guide
    • AspectRatio
    • Box
    • Flex
    • Grid
    • Shapes
Previews
    • Accordion
    • Alert
    • Avatar
    • Badge
    • Breadcrumb
    • Button
    • Carousel
    • Checkbox
    • Combobox
    • Command
    • Date Picker
    • Form
    • Input
    • Input OTP
    • Label
    • MenuBar
    • Modal
    • Popover
    • Progress
    • Radio Group
    • Segmented
    • Select
    • Separator
    • Sheet
    • Sidebar
    • Skeleton
    • Slider
    • Spinner
    • Steps
    • Switch
    • Tabs
    • Textarea
    • Toast
    • Tooltip
    • Typography
  1. Components
  2. Progress

Progress

Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.

Installation

Install the following dependencies

npm install react-aria-components

Copy and paste the following code into your project

'use client'
import type { Assign, WithFixedClassName } from '@pallas-ui/style-context'
import type { ProgressVariantProps } from '@styled-system/recipes'
import type { ComponentProps, HTMLStyledProps } from '@styled-system/types'
import type * as React from 'react'
import type { ProgressBar } from 'react-aria-components'
import { CircleFill } from './circleFill'
import { CircleTrack } from './circleTrack'
import { LineFill } from './lineFill'
import { LineTrack } from './lineTrack'
import { Root, withContext } from './root'
import { SVG } from './svg'
 
export type RootProps = Assign<
  WithFixedClassName<ComponentProps<typeof ProgressBar>>,
  Omit<ProgressVariantProps, 'strokeWidth'> &
    Partial<{
      width: number
      height: number
      steps: number
      stepToGapRatio: number
      strokeWidth: number | 'sm' | 'md' | 'lg'
    }>
>
 
export const Label = withContext<React.ElementRef<'p'>, HTMLStyledProps<'p'>>('p', 'label')
 
const Progress = {
  Root,
  SVG,
  Label,
  LineTrack,
  LineFill,
  CircleTrack,
  CircleFill,
}
 
export default Progress

Update the import paths to match your project setup

Usage

import Progress from '@/components/ui/progress'
<Progress.Root value={33}>
  <Progress.SVG>
    <Progress.LineTrack />
    <Progress.LineFill percentage={33} />
  </Progress.SVG>
  <Progress.Label>33%</Progress.Label>
</Progress.Root>

Examples

Default

Colors

33%

Stroke width

33%

Stroke Linecap

33%

Circle

Vertical

33%

Indeterminate

Built with ❤️ by the carbonteq team. The source code is available on GitHub.

© 2025 Pallas UI. All rights reserved.