Saltar al contenido
Alea0.1
Pro
  1. Alea
  2. Componentes
  3. Navegación
  4. Pagination

Navegación

Pagination

Recorre páginas de resultados, con la parte media larga resumida.

import { Pagination } from '@alea/ui';

Ejemplos

Pagination

La parte larga del medio se pliega alrededor de la página actual.

Page 6 of 24

Compacta

Para teléfonos y barras de herramientas estrechas.

Total, tamaño de página, primera y última, saltar

totalItems con pageSize muestra "1-10 de 248"; onPageSizeChange agrega un select de tamaño de página; showFirstLast y showJumper para listas largas; tres tamaños.

21-30 de 248

Configuraciones

Cada valor de cada propiedad, lado a lado. Los números coinciden con la leyenda.

pages
compact
showFirstLast: false
showFirstLast: true
showJumper: false
showJumper: true
sm
md
lg
  1. Appearanceappearance
  2. Show First LastshowFirstLast
  3. Show JumpershowJumper
  4. Sizesize

Estados

Cada estado de interacción, forzado para compararlos, en ambos temas.

Oscuro

Habilitado
Hover
Foco
Presionado

Claro

Habilitado
Hover
Foco
Presionado

Tokens

Los tokens de diseño que usa este componente, con su valor en el tema actual. Cambia cualquiera para darle otro estilo.

Color

  • --alea-border…
  • --alea-chip-bg…
  • --alea-chip-text…
  • --alea-field-bg…
  • --alea-surface-hover…
  • --alea-text…
  • --alea-text-faint…
  • --alea-text-muted…

Space

  • --alea-space-2…
  • --alea-space-3…

Radius

  • --alea-radius-full…
  • --alea-radius-sm…

Type

  • --alea-font-family-body…
  • --alea-font-size-md…
  • --alea-font-size-sm…
  • --alea-font-weight-medium…

Motion

  • --alea-motion-duration-fast…

Props

Pagination props

Recorre páginas de resultados. La página actual se marca para lectores de pantalla.

PropTipoPor defectoDescripción
onChangeobligatoria(page: number) => void-Se llama con el nuevo número de página.
pageobligatorianumber-Página actual, desde 1.
totalobligatorianumber-Total de páginas.
appearance"pages" | "compact"'pages'compact muestra "3 de 12" entre las flechas en lugar de números de página.
aria-labelstring-Nombre para lectores de pantalla. Por defecto "Paginación".
classNamestring-Clases extra para el elemento raíz.
onPageSizeChange((size: number) => void)-Se llama con el nuevo tamaño de página.
pageSizenumber-Filas por página, para mostrar un select de tamaño de página con onPageSizeChange.
pageSizeOptionsnumber[]-Los tamaños de página a ofrecer. Por defecto 10, 25, 50, 100.
showFirstLastboolean-Agrega botones de primera y última página.
showJumperboolean-Un campo para saltar a una página.
siblingsnumber1Páginas mostradas a cada lado de la actual. Por defecto 1.
size"sm" | "md" | "lg"-Botones sm (28 px), md (36 px, por defecto) o lg (44 px).
totalItemsnumber-Todos los elementos, para mostrar "1-10 de 248" (necesita pageSize).

Especificaciones

Generado desde el código: las variantes de los tipos, los estados y tokens del CSS, y los patrones de motion que aplican. Las grillas muestran el componente real en ambos temas; los números se miden en la página.

Variantes
appearancepagescompact
sizesmmdlg
Estados
Hover (CSS)Disabled
Motion
press
Oscuro y claro
Cada color viene de tokens del tema, así que sigue a data-theme (y a presets como Graphite) en la página o en cualquier contenedor. El contraste se revisa en ambos temas.
Clases para estilos
.alea-pagination.alea-page.alea-page-status.alea-page-gap.alea-pagination-bar.alea-pagination-total.alea-pagination-controls.alea-pagination-size.alea-cal-select.alea-pagination-jump.alea-pagination-input
Atributos data
data-size=smdata-size=lg

Accesibilidad

  • Un landmark de navegación; cada botón de página se llama "Página n" y el actual tiene aria-current.

Teclado

TeclaAcción
TabSe mueve entre los botones de página
Enter o EspacioVa a esa página

Qué hacer y qué evitar

Hacer

  • Mantén visible el total.
  • Usa compact en pantallas angostas.

Evitar

  • No pagines listas cortas: muéstralas completas o carga más.
Probado con axe, teclado y roles de lector de pantalla