Pular para o conteúdo
UI

Pagination

Componente de paginação totalmente acessível para navegar entre páginas de conteúdo.

Uso

Exemplos

Básico

Variante personalizada (Emphasis)

Poucas páginas

Muitas páginas

Estilo personalizado

Tamanhos diferentes

Não responsivo

API

Estrutura da Pagination

ComponenteDescriçãoUso
PaginationComponente principal que cuida da lógica e da renderização da paginaçãoComponente de alto nível com gerenciamento de estado embutido
PaginationRootContainer raiz dos elementos de paginaçãoEnvolve todos os componentes de paginação em implementações personalizadas
PaginationContentContainer dos números de página e dos botões de navegaçãoAgrupa os itens da paginação
PaginationInfoExibe informações sobre os itens ou a contagem totalMostra informações de contexto como "Mostrando X itens" ou "X total"
PaginationItemWrapper de cada elemento da paginaçãoContainer para números de página, reticências ou botões de navegação
PaginationLinkBotão clicável com o número da páginaElemento interativo para navegar entre páginas
PaginationPreviousBotão de navegação para a página anteriorVai para a página anterior
PaginationNextBotão de navegação para a próxima páginaVai para a próxima página
PaginationEllipsisIndicador de reticências para páginas ocultasAparece quando há páginas ocultas entre as visíveis

Pagination

PropriedadeTipoValores possíveisPadrãoDescrição
currentPagenumberQualquer inteiro positivo-Número da página ativa no momento.
totalPagesnumberQualquer inteiro positivo-Número total de páginas disponíveis.
maxVisibleItemsnumberQualquer inteiro positivo2 (0 no mobile quando responsive)Controla quantos números de página aparecem além da primeira e da última página. Em volta da página atual, são exibidas Math.floor(n / 2) páginas de cada lado (então 2 mostra 3 números entre as reticências). Perto do início ou do fim, são exibidas n + 1 páginas consecutivas. Quando totalPages é no máximo n + 2, todas as páginas são exibidas.
onPageChange(page: number) => void--Função chamada quando uma página é selecionada.
itemsPerPagenumberQualquer inteiro positivo-Número de itens exibidos por página (aparece no PaginationInfo).
totalItemsnumberQualquer inteiro positivo-Número total de itens somando todas as páginas (aparece no PaginationInfo).
responsivebooleantrue, falsetrueAtiva o comportamento responsivo, que esconde as informações e ajusta os itens visíveis no mobile.
size"sm" | "md" | "lg""sm", "md", "lg""md"Tamanho de todos os botões da paginação.
variant"regular" | "emphasis" | "error" | "warning" | "outlined" | "success""regular", "emphasis", "error", "warning", "outlined", "success""regular"Variante visual aplicada ao botão da página ativa (os botões inativos usam a versão soft; com "outlined", os inativos usam "regular-basic").
classNamestringQualquer string de classe CSS-Classes CSS adicionais para personalizar o estilo.

PaginationInfo

PropriedadeTipoValores possíveisPadrãoDescrição
countnumberQualquer inteiro positivo-Número a ser exibido.
labelstringQualquer string"itens"Texto do label. Com "itens", mostra "Mostrando X itens". Caso contrário, mostra "X label".
classNamestringQualquer string de classe CSS-Classes CSS adicionais para personalizar o estilo.
PropriedadeTipoValores possíveisPadrãoDescrição
isActivebooleantrue, falsefalseIndica se esta é a página ativa no momento.
variant"regular" | "regular-soft" | "regular-basic" | "emphasis" | "emphasis-soft" | "emphasis-basic" | "error" | "error-soft" | "error-basic" | "warning" | "warning-soft" | "warning-basic" | "success" | "success-soft" | "success-basic" | "outlined" | "gradient" | "medbrain"-"regular"Variante visual base, com os mesmos valores do variant do Button. Quando ativo, usa a própria variante. Quando inativo e sem inactiveVariant, usa a versão suave da variante (-soft) quando ela existe, por exemplo "regular" vira "regular-soft". A exceção é "outlined", que fica "regular-basic" quando inativo. As demais variantes sem versão suave continuam iguais quando inativas; para mudar isso, passe inactiveVariant.
activeVariant"regular" | "regular-soft" | "regular-basic" | "emphasis" | "emphasis-soft" | "emphasis-basic" | "error" | "error-soft" | "error-basic" | "warning" | "warning-soft" | "warning-basic" | "success" | "success-soft" | "success-basic" | "outlined" | "gradient" | "medbrain"--Variante personalizada para o estado ativo. Sobrescreve o comportamento padrão da variante quando isActive é true.
inactiveVariant"regular" | "regular-soft" | "regular-basic" | "emphasis" | "emphasis-soft" | "emphasis-basic" | "error" | "error-soft" | "error-basic" | "warning" | "warning-soft" | "warning-basic" | "success" | "success-soft" | "success-basic" | "outlined" | "gradient" | "medbrain"--Variante personalizada para o estado inativo. Quando informada, substitui a versão suave da variant enquanto isActive é false.
size"sm" | "md" | "lg""sm", "md", "lg""md"Tamanho do botão com o número da página.
iconLeftReact.ReactNodeQualquer nó React-Ícone exibido do lado esquerdo do botão.
iconRightReact.ReactNodeQualquer nó React-Ícone exibido do lado direito do botão.
classNamestringQualquer string de classe CSS-Classes CSS adicionais para personalizar o estilo.

PaginationPrevious / PaginationNext

PropriedadeTipoValores possíveisPadrãoDescrição
size"sm" | "md" | "lg""sm", "md", "lg""md"Tamanho do botão de navegação.
variant"regular" | "regular-soft" | "regular-basic" | "emphasis" | "emphasis-soft" | "emphasis-basic" | "error" | "error-soft" | "error-basic" | "warning" | "warning-soft" | "warning-basic" | "success" | "success-soft" | "success-basic" | "outlined" | "gradient" | "medbrain"-"regular-basic"Variante visual do botão, com os mesmos valores do variant do Button.
iconLeftReact.ReactNodeQualquer nó React<ChevronLeftDuo /> / -Ícone à esquerda do texto. O PaginationPrevious já usa ChevronLeftDuo, que pode ser substituído por esta prop.
iconRightReact.ReactNodeQualquer nó React- / <ChevronRightDuo />Ícone à direita do texto. O PaginationNext já usa ChevronRightDuo, que pode ser substituído por esta prop.
disabledbooleantrue, falsefalseDesabilita o botão quando não há página anterior/próxima.
classNamestringQualquer string de classe CSS-Classes CSS adicionais para personalizar o estilo.
aria-labelstringQualquer string"Página anterior" / -Nome acessível do botão. Pode ser sobrescrito. O PaginationNext não tem valor padrão, então o nome acessível dele é o texto visível ("Próximo").
childrenReact.ReactNodeQualquer nó React"Anterior" / "Próximo"Label personalizado do botão.

PaginationEllipsis

PropriedadeTipoValores possíveisPadrãoDescrição
size"sm" | "md" | "lg""sm", "md", "lg""md"Tamanho do container das reticências, para acompanhar o tamanho dos botões.
classNamestringQualquer string de classe CSS-Classes CSS adicionais para personalizar o estilo.