Installation
CDN Prerelease
We are currently working on our CDN, which will be soon moving into beta. This will be the preferred method of installation in the near future. If you are a Red Hat associate and have questions or comments about the CDN or installation process please join us in our Red Hat Design System Google chat.
In the meantime, install this component using npm
The recommended way to load RHDS is via the Red Hat Digital Experience CDN, and using an import map.
If you have full control over the page you are using, add an import map
to the <head>
, pointing to the CDN, or update any existing import map.
If you are not responsible for the page's <head>
, request that the
page owner makes the change on your behalf.
<script type="importmap">
{
"imports": {
"@rhds/elements/": "https://www.redhatstatic.com/dx/v1-alpha/@rhds/elements@1.1.0/elements/",
"@patternfly/elements/": "https://www.redhatstatic.com/dx/v1-alpha/@patternfly/elements@2.2.2/"
}
}
</script>
Once the import map is established, you can load the element with the following module, containing a bare module specifier:
<script type="module">
import '@rhds/elements/rh-pagination/rh-pagination.js';
</script>
Note that Modules may be placed in the <head>
: since they are deferred by default,
they will not block rendering.
Lightdom CSS
Lightdom CSS is required for this element to ensure a reduced Cumulative Layout Shift (CLS) experience before the element has fully initialized.
<link rel="stylesheet" href="https://www.redhatstatic.com/dx/v1-alpha/@rhds/elements@1.1.0/rh-pagination/rh-pagination-lightdom.css">
Install RHDS using your team's preferred NPM package manager, e.g.
npm install @rhds/elements
Once that's been accomplished, you will need to use a bundler to resolve the bare module specifiers and optionally optimize the package for your site's particular use case and needs. Comprehensive guides to bundling are beyond the scope of this page; read more about bundlers on their websites:
Lightdom CSS
Lightdom CSS is required for this element to ensure a reduced Cumulative Layout Shift (CLS) experience before the element has fully initialized.
<link rel="stylesheet" href="/path/to/@rhds/elements/elements/rh-pagination/rh-pagination-lightdom.css">
Replace /path/to
in the href
attribute with the installation path
to the rh-pagination
directory in your project.
Public CDNs
JSPM and other public CDNs should not be used on corporate domains. Use them for development purposes only!
Add an import map to the <head>
, pointing to the CDN,
or update any existing import map.
<script type="importmap">
{
"imports": {
"@rhds/elements/": "https://jspm.dev/@rhds/elements/",
"@patternfly/elements/": "https://jspm.dev/@patternfly/elements/"
}
}
</script>
Once the import map is established, you can load the element with the following module, containing a bare module specifier:
<script type="module">
import '@rhds/elements/rh-pagination/rh-pagination.js';
</script>
Note that Modules may be placed in the <head>
: since they are deferred by default,
they will not block rendering.
Lightdom CSS
Lightdom CSS is required for this element to ensure a reduced Cumulative Layout Shift (CLS) experience before the element has fully initialized.
<link rel="stylesheet" href="https://jspm.dev/@rhds/elements@1.1.0/elements/rh-pagination/rh-pagination-lightdom.css">
Usage
<rh-pagination>
<ol>
<li><a href="#1">1</a></li>
<li><a href="#2">2</a></li>
<li><a href="#3">3</a></li>
<li><a href="#4">4</a></li>
<li><a href="#5">5</a></li>
</ol>
</rh-pagination>
rh-pagination
Slots
- Default Slot
-
An ordered list of links
-
go-to-page
-
"Go to page" text
-
out-of
-
"of" text
Attributes
overflow
-
Override
overflow
values set from HTML or JS.overflow
should ideally be private, but because we can't do::slotted(nav ol li)
, we need to reflect it to a host attribute, so that lightdom CSS can target the list items.- DOM Property
overflow
- Type
-
'start' | 'end' | 'both' | null
- Default
-
null
label
-
Accessible label for the 'nav' element
- DOM Property
label
- Type
-
string
- Default
-
'Page navigation'
label-first
-
Accessible label for the 'first page' button
- DOM Property
labelFirst
- Type
-
string
- Default
-
'first page'
label-previous
-
Accessible label for the 'previous page' button
- DOM Property
labelPrevious
- Type
-
string
- Default
-
'previous page'
label-next
-
Accessible label for the 'next page' button
- DOM Property
labelNext
- Type
-
string
- Default
-
'next page'
label-last
-
Accessible label for the 'last page' button
- DOM Property
labelLast
- Type
-
string
- Default
-
'last page'
Methods
first()
-
Navigate to the first page
prev()
-
Navigate to the previous page
next()
-
Navigate to the next page
last()
-
Navigate to the last page
go(page: 'first' | 'prev' | 'next' | 'last' | number)
-
Navigate to a specific page
Events
None
CSS Shadow Parts
None
CSS Custom Properties
CSS Property | Description | Default |
---|---|---|
--rh-pagination-accent-color |
Sets the outline color when the page input has focus. |
var(--rh-color-interactive-blue, #0066cc)
|
--rh-pagination-background-focused |
Sets the disabled stepper color. |
var(--rh-color-gray-20, #c7c7c7)
|
--rh-pagination-stepper-color |
Sets the stepper color. |
var(--rh-color-icon-subtle, #707070)
|
Design Tokens
Related elements or patterns
Feedback
To give feedback about anything on this page, contact us.
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit