CPS Design System
Guia Visual
Documentação
Componentes
GitHub
Guia Visual
Documentação
Componentes
GitHub
  • Documentação

    • Accordion
    • Avatar
    • Badge
    • Button
    • Calendar
    • Callout
    • Card
    • CheckField
    • Chip
    • ColorField
    • DataTable
    • DateField
    • Dialog
    • DropdownButton
    • DropdownField
    • FloatingPanel
    • GridView
    • Hyperlink
    • ListView
    • MenuFlyout
    • MultiSelectField
    • NumberField
    • Pagination
    • ProgressIndicator
    • RatingField
    • Separator
    • SideNavigation
    • SkeletonIndicator
    • SliderField
    • SplitButton
    • Stepper
    • TabBar
    • TextField
    • ToastNotification
    • ToggleButton
    • TopNavigation
    • TreeView

Pagination

Paginação (pagination) é um componente comum em sistemas corporativos, especialmente sendo usado em parceria com o DataTable, por vezes até sendo encarado como parte deste.

Entretanto, neste design system, optou-se por considerar um componente à parte, visto que poderia ser empregado em outras situações, bem como as tabelas de dados em si também podem ser utilizadas sem paginação em alguns cenários.

Variações

Este componente não possui variações, apenas se adaptando ao modo de cor em uso.

A aparência deste componente em modo claro:

Pagination - Modo Claro

A aparência deste componente em modo escuro:

Pagination - Modo Escuro

Boas práticas

Para que este componente seja utilizado da melhor maneira possível, observe as práticas a seguir.

Exibição e comportamento

A paginação funciona como um wrapper de elementos e componentes:

  • Um rótulo de texto descrevendo quais registros (normalmente de um DataTable acima da paginação) estão em exibição no momento, bem como o total geral de registros existentes independentemente de quanto estão em exibição.
  • Botões de navegação para a primeira página de registros e para a página anterior à atualmente selecionada, sendo estes instâncias de componente Button em sua variação apenas com ícone.
  • Botões de alternância numerados representando páginas especificas de registros que pode ser acessadas diretamente, sendo estes instâncias de componente ToggleButton.
  • Botões de navegação para a próxima página à atualmente selecionada e para a última página de registros, sendo estes instâncias de componente Button em sua variação apenas com ícone.

Não é recomendado apresentar mais do que quatro botões de alternância para trocar de página ao mesmo tempo. Por isso, utiliza-se de rótulos com elipses (...) para demonstrar intervalos de páginas não sendo exibidos no momento.

O intervalo de páginas em exibição é dinâmico, de acordo com a página atualmente selecionada. Especialmente quando a primeira página está ativa, as páginas de 1 a 3 mais a última (n) são apresentadas. Especialmente quando a última página está ativa, as páginas de n-2 a n mais a primeira (1) são exibidas. Em todos os outros casos, rótulos com elipses demonstram a existância de páginas antes e depois do grupo de página em exibição, limitado a quatro páginas.

Em resoluções menores, pode não ser possível apresentar o rótulo de quantidade de registros exibidos e total antes da sequência de botões de ação para paginação. Nestes casos, recomenda-se inverter o rótulo e a paginação propriamente dita, para reposicionar o rótulo abaixo dos botões de paginação.

Acessibilidade

A paginação em si não é um elemento acionável pelo usuário e, portanto, não possui características especiais acessibilidade. Porém, cada Button e ToggleButton da paginação é um sub-componente acionável pelo usuário, exigindo todos os diferentes estados de interação adequadamente abordados quando em uso: :hover para movimentação do mouse sobre o sub-componente, :active para o exato momento em que se encontra pressionado ou tocado (no caso de uma tela sensível ao toque), :focus para quando a tela está sendo navegada através de teclado (normalmente pela tecla Tab), e :disabled evidentemente para quando se encontra desabilitado e não pode ser acionado.

Anterior
NumberField
Próximo
ProgressIndicator