Capítulo 58 de 108
Indicador visual (barra) do progresso de conclusão de uma tarefa, controlado externamente via prop value.
value: número (0-100) que define o preenchimento da barra.ProgressLabel / ProgressValue: subcomponentes opcionais para exibir rótulo textual e o valor numérico junto à barra.Progress > ProgressLabel, ProgressValue, ProgressTrack > ProgressIndicator.dir; ProgressValue recebe função de formatação para números localizados (ex. algarismos arábicos)."use client"
import * as React from "react"
import { Progress } from "@/components/ui/progress"
export function ProgressDemo() {
const [progress, setProgress] = React.useState(13)
React.useEffect(() => {
const timer = setTimeout(() => setProgress(66), 500)
return () => clearTimeout(timer)
}, [])
return <Progress value={progress} className="w-[60%]" />
}
import { Progress, ProgressLabel, ProgressValue } from "@/components/ui/progress"
;<Progress value={56} className="w-full max-w-sm">
<ProgressLabel>Upload progress</ProgressLabel>
<ProgressValue />
</Progress>
<Progress value={value} className="w-full" />
<Slider value={value} onValueChange={(value) => setValue(value as number)} min={0} max={100} step={1} />
Progress pode ser dirigido por outro componente controlado (Slider), útil em UIs de configuração.ProgressValue: perde a integração automática de acessibilidade/RTL que o subcomponente já oferece.value é a única prop obrigatória; tudo mais é composição opcional.ProgressLabel/ProgressValue em vez de texto solto ao lado da barra para manter a semântica de progresso.