1. framework components
  2. progress linear

Progress - Linear

An indicator showing the progress or completion of a task.

75%

Color

Change the track and range color using utility classes or custom CSS variables to match your design system.

Height

Create variations using different heights.

Orientation

Using the orientation prop to control the layout.

Indeterminate

Set a null value to enable indeterminate mode.

Use CSS to enable custom animations.

Direction

Set the text direction ( ltr or rtl ) using the dir prop.

Label

Native Alternative

Skeleton also provides styles for the native Progress element.

Anatomy

Here’s an overview of how the Progress (Linear) component is structured in code:

svelte
<script lang="ts">
	import { Progress } from '@skeletonlabs/skeleton-svelte';
</script>

<Progress>
	<Progress.Label />
	<Progress.Track>
		<Progress.Range />
	</Progress.Track>
	<Progress.ValueText />
</Progress>

API Reference

Root

Prop Default Type
ids Partial<{ root: string; track: string; label: string; circle: string; }> | undefined

The ids of the elements in the progress bar. Useful for composition.

value number | null | undefined

The controlled value of the progress bar.

defaultValue 50 number | null | undefined

The initial value of the progress bar when rendered. Use when you don't need to control the value of the progress bar.

min 0 number | undefined

The minimum allowed value of the progress bar.

max 100 number | undefined

The maximum allowed value of the progress bar.

translations IntlTranslations | undefined

The localized messages to use.

onValueChange ((details: ValueChangeDetails) => void) | undefined

Callback fired when the value changes.

formatOptions { style: "percent" } NumberFormatOptions | undefined

The options to use for formatting the value.

locale "en-US" string | undefined

The locale to use for formatting the value.

dir "ltr" "ltr" | "rtl" | undefined

The document's text/writing direction.

getRootNode (() => ShadowRoot | Node | Document) | undefined

A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.

orientation "horizontal" "horizontal" | "vertical" | undefined

The orientation of the element.

element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

Provider

Prop Default Type
value () => ProgressApi<PropTypes>

element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

Context

Prop Default Type
children Snippet<[() => ProgressApi<PropTypes>]>

Label

Prop Default Type
element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

ValueText

Prop Default Type
element Snippet<[HTMLAttributes<"span">]> | undefined

Render the element yourself

Track

Prop Default Type
element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

Range

Prop Default Type
element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

Circle

Prop Default Type
element Snippet<[HTMLAttributes<"svg">]> | undefined

Render the element yourself

CircleTrack

Prop Default Type
element Snippet<[HTMLAttributes<"circle">]> | undefined

Render the element yourself

CircleRange

Prop Default Type
element Snippet<[HTMLAttributes<"circle">]> | undefined

Render the element yourself

View page on GitHub