Linear Progress
Available from version 0.2.0
Linear Progress indicators, commonly known as loaders, express an unspecified wait time or display the length of a process.
Basics
import { LinearProgress } from 'tailwind-joy/components';
Customization
Variants
The Linear Progress component supports four variants: solid, soft (default), outlined, and plain.
import { LinearProgress, Stack } from 'tailwind-joy/components';
export function LinearProgressVariants() {
  return (
    <Stack spacing="16px" className="w-full">
      <LinearProgress variant="solid" />
      <LinearProgress variant="soft" />
      <LinearProgress variant="outlined" />
      <LinearProgress variant="plain" />
    </Stack>
  );
}
Sizes
The Linear Progress component supports three sizes: sm, md (default), and lg.
import { LinearProgress, Stack } from 'tailwind-joy/components';
export function LinearProgressSizes() {
  return (
    <Stack spacing="16px" className="w-full">
      <LinearProgress size="sm" />
      <LinearProgress size="md" />
      <LinearProgress size="lg" />
    </Stack>
  );
}
Colors
The Linear Progress component supports five colors: primary (default), neutral, danger, success, and warning.
import { LinearProgress, Stack } from 'tailwind-joy/components';
export function LinearProgressColors() {
  return (
    <Stack spacing="16px" className="w-full">
      <LinearProgress color="primary" />
      <LinearProgress color="neutral" />
      <LinearProgress color="danger" />
      <LinearProgress color="success" />
      <LinearProgress color="warning" />
    </Stack>
  );
}
Thickness
Provides a number to thickness prop to control the bar's stroke width.
import { LinearProgress } from 'tailwind-joy/components';
export function LinearProgressThickness() {
  return <LinearProgress thickness={1} />;
}
Determinate
You can use the determinate prop if you want to indicate a specified wait time.
import { LinearProgress, Stack } from 'tailwind-joy/components';
export function LinearProgressDeterminate() {
  return (
    <Stack spacing="16px" className="w-full">
      <LinearProgress determinate value={25} />
      <LinearProgress determinate value={50} />
      <LinearProgress determinate value={75} />
      <LinearProgress determinate value={100} />
    </Stack>
  );
}
Anatomy
The Linear Progress component is composed of a single root <div> element that wraps around its contents:
<div role="progressbar" class="tj-linear-progress-root ...">
  <!-- Linear Progress contents -->
</div>
API
See the documentation below for a complete reference to all of the props available to the components mentioned here.