Progress
Exibe um indicador do progresso de uma tarefa.
Instalação
O Shadwire segue o modelo open-code do shadcn/ui: o código-fonte do componente é copiado para a sua aplicação e passa a ser seu. Instale com a CLI:
O item progress
do registry instala estes arquivos:
-
app/components/ui_component.rb -
app/components/ui/progress_component.rb -
app/helpers/ui/progress_helper.rb -
vendor/shadwire/shadwire.css
Ainda não instalou a CLI?
gem install shadwire
e depois shadwire init.
Uso
O valor é clampado em 0..max
no servidor. Para atualizações ao vivo, re-renderize via Turbo (Streams/Frames) —
o componente não tem estado no cliente.
Ou renderize o componente
Ui::ProgressComponent
diretamente:
Exemplos
Padrão
O valor é renderizado no servidor e exposto via aria-valuenow.
Valores
Barras em diferentes estágios de conclusão.
Máximo e altura customizados
Use max: para escalas próprias e classes para ajustar a altura.
Referência da API
ui_progress(**options)
encapsula
Ui::ProgressComponent.new(**options).
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
value |
Numeric | 0 |
Progresso atual; clampado em 0..max e exposto como aria-valuenow. |
max |
Numeric | 100 |
Valor máximo da escala (aria-valuemax). |
class / class_name |
String | nil |
Classes extras (largura, altura, …). |
**attrs |
Hash | {} |
Atributos HTML livres; rotule com aria: { label: }. |