Pagination
Navegación entre páginas totalmente controlada. Configura el número de páginas adyacentes (siblingCount), páginas de borde (boundaryCount), variante visual (pill/square), tamaño, y botones de primera/última página. Ideal para tablas, listas y galerías paginadas.
Instalación#
bash
pnpm add @tsukira/uiUso#
tsx
import { Pagination } from "@tsukira/ui"; function MiLista() { const [page, setPage] = useState(1); return ( <> {/* …contenido de la página… */} <Pagination page={page} total={20} onChange={setPage} showFirstLast /> </> );}Ejemplos#
Variantes visuales
pill · squareTamaños
sm · md · lgCon primera y última página
showFirstLast — añade botones « y » para saltar al inicio/finSiblings y boundary personalizados
siblingCount=2, boundaryCount=2 — más páginas visibles cerca de la actual y en los extremosFusión: pie de tabla con contador de registros
Pagination + texto 'X de Y' como footer de una Table| Juego | Género | Jugadores |
|---|---|---|
| Leyendas de Kimi | RPG | 4,2 M |
| Arena Estelar | Acción | 2,8 M |
| Rinascita Online | MMORPG | 8,1 M |
1–3 de 7 juegos
Fusión: paginación compacta en Card
Pagination dentro de una Card como control de galería o listado embebidoGalería
Pantalla del combate principal
Imagen 1 de 5
API#
PaginationPropsextends Omit<HTMLAttributes<HTMLElement>, 'onChange'>| Prop | Tipo | Default | Descripción |
|---|---|---|---|
page* | number | — | Página actual (1-based). |
total | number | — | Cantidad total de páginas. |
totalPages | number | — | Alias deprecado de total. |
onChange | ((page: number) => void) | — | Cambio de página. |
onPageChange | ((page: number) => void) | — | Alias deprecado de onChange. |
siblingCount | number | — | Cuántas páginas adyacentes mostrar antes de elipsis. |
boundaryCount | number | — | Cuántas páginas mostrar en bordes. |
showPrevNext | boolean | — | Mostrar prev/next. |
showFirstLast | boolean | — | Mostrar primera/última (« »). |
size | 'sm' | 'md' | 'lg' | — | — |
variant | 'pill' | 'square' | — | — |