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 o seu app 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 servidor mantém o valor entre 0 e max.
O componente não guarda estado no navegador, então, para atualizar ao vivo, renderize de
novo com Turbo Streams ou Frames.
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 personalizados
Use max: para outra escala 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 |
O progresso atual, limitado a 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: }. |