progress

registry:ui

progress bars with unicode block characters

installation

npx shadcn@latest add https://asciicn.fldr.zip/r/progress.json

usage

import { Progress } from "@/registry/ascii/progress";

<Progress value={60} max={100} />
<Progress value={45} showValue />
<Progress value={75} variant="gradient" animated />

examples

basic progress

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

with value display

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%

variants

default (solid blocks)
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%
gradient (progressive shading)
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%
striped (alternating pattern)
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%

sizes

small
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%
medium
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%
large
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%

animated progress

live updating (updates every second)
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%
smooth transition animation
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0%

progress bar with labels

download progress35%
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
upload status72%
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
completed100%
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

use cases

installing packages
npm install
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
installing dependencies... 127/283
build progress
compilation
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
optimization
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
bundling
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
storage usage
disk space68%
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
6.8 gb / 10 gb used

design details

progress uses unicode block characters to visualize completion:

  • default: solid █ blocks for filled, ░ for empty
  • gradient: progressive shading ░ ▒ ▓ █
  • striped: alternating ▓ █ pattern
  • 40 blocks total for smooth incremental display
  • tabular-nums for aligned percentage display

character set

block characters:
░ ▒ ▓ █
usage:
░ = empty/light (0-25%)
▒ = medium (25-50%)
▓ = dark (50-75%)
█ = full (75-100%)

props

prop
type
default
description
value
number
required
current value
max
number
100
maximum value
showValue
boolean
false
show percentage
variant
string
"default"
visual style
animated
boolean
false
smooth transition
size
string
"md"
bar size