Skip to content

Progress

A bone fill on a faint track. The head runs hot only while the value moves and cools 600ms after the last change; the fill glides on a spring.

Download
Customize

Indeterminate is one accent segment travelling the track. Reaching 100 flashes the fill once and draws a check in place of the number.

Install

npx shadcn@latest add https://obsydeui.com/r/progress.json

Usage

Import it from where the CLI puts it, or copy the files below by hand.

import { Progress } from '@/components/obsyde/ember/progress/Progress';

export function Example() {
  return (
    <Progress size="line" value={40} />
  );
}

Files

Plain React, TypeScript and CSS. No dependencies. The download keeps these paths.

  • ember/progress/Progress.tsxcomponent
  • ember/progress/progress-demo.cssstyles
  • ember/progress/progress.cssstyles
  • ember/progress/ProgressDemo.tsxdemo
  • ember/status-kit/check.cssshared
  • ember/status-kit/Check.tsxshared
  • ember/status-kit/kit.tsshared
  • ember/shared/rolling-number.cssshared
  • ember/shared/RollingNumber.tsxshared
  • ember/shared/spring.tsshared
  • ember/shared/accent.tsshared
  • ember/shared/chart-kit.tsshared
  • ember/shared/ember.cssshared

API

PropTypeDefault
accentAccent'ember' | 'volt' | 'arc''ember'
valueValuenumber40
indeterminateIndeterminatebooleanfalse
sizeSize'line' | 'bar''line'
showValueShow valuebooleantrue
labelAccessible labelstring'Progress'