Pagination
New
A pagination navigation component built with DaisyUI's .join pattern.
Compose <c-pagination.item> children inside
<c-pagination> to create accessible page controls that render
as links or buttons depending on context.
API Reference
c-pagination (container)
| Attribute | Description | Type | Default |
|---|---|---|---|
size
|
Size context passed to child items | string |
md
|
c-pagination.item
| Attribute | Description | Type | Default |
|---|---|---|---|
href
|
When set, renders as <a>; otherwise <button>
|
string |
""
|
label
|
Accessible aria-label for icon-only items
|
string |
""
|
active
|
Marks the current page with btn-active
|
boolean |
False
|
disabled
|
Disables interaction with btn-disabled
|
boolean |
False
|
size
|
Button size variant | string |
md
|
Accessibility
Landmark: the container renders as <nav aria-label="Pagination">,
making it discoverable by screen reader landmark navigation.
Icon-only items: always provide a label prop for
previous/next buttons that contain only an icon, so screen readers announce a meaningful name.
Active page: consider adding aria-current="page"
to the active item via attrs to assist assistive technology.
Examples
Usage
<c-pagination>
<c-pagination.item href="/page/1">1</c-pagination.item>
<c-pagination.item href="/page/2" active>2</c-pagination.item>
<c-pagination.item href="/page/3">3</c-pagination.item>
</c-pagination>
Basic Pages
<c-pagination>
<c-pagination.item href="#">1</c-pagination.item>
<c-pagination.item href="#" active>2</c-pagination.item>
<c-pagination.item href="#">3</c-pagination.item>
</c-pagination>
With Previous / Next
<c-pagination>
<c-pagination.item href="#" label="Previous page">
<c-icon name="chevron-left" />
</c-pagination.item>
<c-pagination.item href="#">1</c-pagination.item>
<c-pagination.item href="#" active aria-current="page">2</c-pagination.item>
<c-pagination.item href="#">3</c-pagination.item>
<c-pagination.item href="#" label="Next page">
<c-icon name="chevron-right" />
</c-pagination.item>
</c-pagination>
Disabled Items
<c-pagination.item disabled label="Previous page">
<c-icon name="chevron-left" />
</c-pagination.item>
Sizes
<c-pagination>
<c-pagination.item href="#" size="sm">1</c-pagination.item>
<c-pagination.item href="#" size="sm" active>2</c-pagination.item>
<c-pagination.item href="#" size="sm">3</c-pagination.item>
</c-pagination>