Documentation
Navigation
Pagination
Moves through paginated records or result sets.
01
See it in context
Preview
02
Copy a working example
Usage
---
import { Pagination } from '@santi020k/lumen-astro'
---
<div style="display: grid; gap: 1rem;">
<Pagination>
<a href="?page=1" rel="prev">Previous</a>
<a href="?page=1">1</a>
<a aria-current="page" href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=3" rel="next">Next</a>
</Pagination>
<Pagination aria-label="Pagination with disabled previous state">
<button type="button" disabled aria-label="Previous page">Previous</button>
<a aria-current="page" href="?page=1">1</a>
<a href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=2" rel="next">Next</a>
</Pagination>
</div>---
import { Pagination } from '@santi020k/lumen-astro'
---
<div style="display: grid; gap: 1rem;">
<Pagination>
<a href="?page=1" rel="prev">Previous</a>
<a href="?page=1">1</a>
<a aria-current="page" href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=3" rel="next">Next</a>
</Pagination>
<Pagination aria-label="Pagination with disabled previous state">
<button type="button" disabled aria-label="Previous page">Previous</button>
<a aria-current="page" href="?page=1">1</a>
<a href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=2" rel="next">Next</a>
</Pagination>
</div>import { Pagination } from '@santi020k/lumen-react'
export const Example = () => (
<>
<div style={{ display: 'grid', gap: '1rem' }}>
<Pagination>
<a href="?page=1" rel="prev">Previous</a>
<a href="?page=1">1</a>
<a aria-current="page" href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=3" rel="next">Next</a>
</Pagination>
<Pagination aria-label="Pagination with disabled previous state">
<button type="button" disabled aria-label="Previous page">Previous</button>
<a aria-current="page" href="?page=1">1</a>
<a href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=2" rel="next">Next</a>
</Pagination>
</div>
</>
)import { Pagination } from '@santi020k/lumen-react'
export const Example = () => (
<>
<div style={{ display: 'grid', gap: '1rem' }}>
<Pagination>
<a href="?page=1" rel="prev">Previous</a>
<a href="?page=1">1</a>
<a aria-current="page" href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=3" rel="next">Next</a>
</Pagination>
<Pagination aria-label="Pagination with disabled previous state">
<button type="button" disabled aria-label="Previous page">Previous</button>
<a aria-current="page" href="?page=1">1</a>
<a href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=2" rel="next">Next</a>
</Pagination>
</div>
</>
)<script type="module">
import { defineLumenElements } from '@santi020k/lumen-elements/define'
defineLumenElements()
</script>
<div style="display: grid; gap: 1rem;">
<lumen-pagination>
<a href="?page=1" rel="prev">Previous</a>
<a href="?page=1">1</a>
<a aria-current="page" href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=3" rel="next">Next</a>
</lumen-pagination>
<lumen-pagination aria-label="Pagination with disabled previous state">
<button type="button" disabled aria-label="Previous page">Previous</button>
<a aria-current="page" href="?page=1">1</a>
<a href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=2" rel="next">Next</a>
</lumen-pagination>
</div><script type="module">
import { defineLumenElements } from '@santi020k/lumen-elements/define'
defineLumenElements()
</script>
<div style="display: grid; gap: 1rem;">
<lumen-pagination>
<a href="?page=1" rel="prev">Previous</a>
<a href="?page=1">1</a>
<a aria-current="page" href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=3" rel="next">Next</a>
</lumen-pagination>
<lumen-pagination aria-label="Pagination with disabled previous state">
<button type="button" disabled aria-label="Previous page">Previous</button>
<a aria-current="page" href="?page=1">1</a>
<a href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=2" rel="next">Next</a>
</lumen-pagination>
</div>03
Choose your target
Add this component
Choose the package for your runtime. All adapters share the Lumen stylesheet. Use the matching registry command when you want a local wrapper for that framework.
pnpm add @santi020k/lumen-astropnpm add @santi020k/lumen-astrolumen add Paginationlumen add Paginationpnpm add @santi020k/lumen-reactpnpm add @santi020k/lumen-reactlumen add Pagination --target reactlumen add Pagination --target reactpnpm add @santi020k/lumen-elementspnpm add @santi020k/lumen-elementslumen add Pagination --target elementslumen add Pagination --target elementsAPI reference
Lumen-specific props and runtime attributes for the Astro primitive. React props follow the same names; Elements use equivalent kebab-case attributes where custom elements expose them.
| Attribute | Values | Default | Description |
|---|---|---|---|
| class, className | string | "" | Merges custom classes with the generated ui-* root classes. |
| ...native attributes | HTML attributes | - | Forwards standard attributes to the root element unless the component consumes them. |