Pagination
Navegação entre páginas com links para anterior e próxima.
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 pagination
do registry instala estes arquivos:
-
app/components/ui_component.rb -
app/components/ui/pagination_component.rb -
app/components/ui/pagination/content_component.rb -
app/components/ui/pagination/item_component.rb -
app/components/ui/pagination/link_component.rb -
app/components/ui/pagination/previous_component.rb -
app/components/ui/pagination/next_component.rb -
app/components/ui/pagination/ellipsis_component.rb -
app/components/ui/button_component.rb -
app/components/ui/icon_component.rb -
app/helpers/ui/pagination_helper.rb -
app/helpers/ui/button_helper.rb -
app/helpers/ui/icon_helper.rb -
vendor/shadwire/shadwire.css
Ainda não instalou a CLI?
gem install shadwire
e depois shadwire init.
Uso
Os links compõem o visual do Button:
a página ativa usa a variante outline e recebe
aria-current="page".
Integre com Pagy/Kaminari gerando os href reais.
Ou renderize os componentes diretamente:
Composição
Exemplos
Padrão
Anterior/Próxima com rótulos acessíveis, página ativa com aria-current="page" e ellipsis decorativo.
Referência da API
Todas as partes aceitam class /
class_name e
**attrs.
| Helper | Argumentos | Notas |
|---|---|---|
ui_pagination / ui_pagination_content / ui_pagination_item |
— | Landmark nav, lista ul e itens li. |
ui_pagination_link |
active: false, size: :icon |
Renderiza <a> com visual de Button (outline quando ativo, ghost caso contrário). |
ui_pagination_previous / ui_pagination_next |
— | Chevron + rótulo (oculto em telas pequenas); o bloco substitui o texto padrão. |
ui_pagination_ellipsis |
— | Decorativo, com texto sr-only "Mais páginas". |