<nav class="pagination accent-secondary" aria-label="Pagination">
<ul class="pagination__list">
<li class="pagination__item">
<button class="pagination__button button" disabled>
<span class="srOnly">Previous</span>
<svg class="pagination__icon" viewBox="0 0 18 12">
<use href="/main-icons-sprite.svg#arrow-left" /></svg>
</button>
</li>
<li class="pagination__item">
<span class="pagination__current" aria-label="Page 1" aria-current="page">1</span>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#" aria-label="Page 2">2</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#" aria-label="Page 3">3</a>
</li>
<li class="pagination__item">
<span class="pagination__skip">...</span>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#" aria-label="Page 5">5</a>
</li>
<li class="pagination__item">
<a class="pagination__button button" href="#">
<span class="srOnly">Next</span>
<svg class="pagination__icon" viewBox="0 0 18 12">
<use href="/main-icons-sprite.svg#arrow-right" />
</svg>
</a>
</li>
</ul>
</nav>
<nav class="pagination" aria-label="Pagination">
<ul class="pagination__list">
<li class="pagination__item">
<button class="pagination__button button" disabled>
<span class="srOnly">Previous</span>
<svg class="pagination__icon" viewBox="0 0 18 12">
<use href="/main-icons-sprite.svg#arrow-left" /></svg>
</button>
</li>
<li class="pagination__item">
<span class="pagination__current" aria-label="Page 1" aria-current="page">1</span>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#" aria-label="Page 2">2</a>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#" aria-label="Page 3">3</a>
</li>
<li class="pagination__item">
<span class="pagination__skip">...</span>
</li>
<li class="pagination__item">
<a class="pagination__link" href="#" aria-label="Page 5">5</a>
</li>
<li class="pagination__item">
<a class="pagination__button button" href="#">
<span class="srOnly">Next</span>
<svg class="pagination__icon" viewBox="0 0 18 12">
<use href="/main-icons-sprite.svg#arrow-right" />
</svg>
</a>
</li>
</ul>
</nav>
@use "@imarc/pronto/resources/styles/imported" as pronto;
.pagination {
display: flex;
justify-content: center;
width: 100%;
margin-bottom: 2rem;
&__list {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: pronto.fluid-rems(.5, 1);
width: fit-content;
}
&__icon {
aspect-ratio: 1.5;
block-size: pronto.fluid-rems(.5, 1);
color: var(--accent-color-text);
}
&__button,
&__link {
--accent-color: inherit;
}
&__link,
&__current,
&__skip {
aspect-ratio: 1;
background: var(--accent-color);
border-radius: 0.25rem;
color: var(--accent-color-text);
display: grid;
font-size: pronto.fluid-rems(.5, 1);
font-weight: 700;
line-height: 1;
width: pronto.fluid-rems(2, 2.5);
height: pronto.fluid-rems(2, 2.5);
place-items: center;
}
&__link {
--accent-color: inherit;
text-decoration: none;
transition: background-color var(--duration-fast) var(--ease-out),
color var(--duration-fast) var(--ease-out);
&:hover {
background: var(--accent-color-700);
color: #fff;
}
}
&__button:not([disabled]) {
background: var(--accent-color-700);
border-color: var(--accent-color-700);
}
&__button[disabled] {
--accent-color: var(--color-gray-100);
}
&__current {
background: var(--color-gray-100);
color: var(--accent-color-700);
}
&__skip {
background: var(--color-gray-200);
color: var(--accent-color-700);
}
}