No notes defined.
<!-- Default -->
<nav class="paginationBar" aria-label="pagination">
<ul class="paginationBar-list">
<li class="paginationBar-item" data-direction="previous">
<span>Vorherige Seite</span>
</li>
<li class="paginationBar-item">
<a href="#" title="1">1</a>
</li>
<li class="paginationBar-item" aria-current="page">
<a href="#" title="2">2</a>
</li>
<li class="paginationBar-item">
<a href="#" title="3">3</a>
</li>
<li class="paginationBar-item">
<span>…</span>
</li>
<li class="paginationBar-item">
<a href="#" title="150">150</a>
</li>
<li class="paginationBar-item" data-direction="next">
<a href="#" title="Nächste Seite">Nächste Seite</a>
</li>
</ul>
</nav>
<!-- With Title -->
<nav class="paginationBar" aria-label="pagination">
<div class="paginationBar-title">
<strong>Seite:</strong>
</div>
<ul class="paginationBar-list">
<li class="paginationBar-item" data-direction="previous">
<span>Vorherige Seite</span>
</li>
<li class="paginationBar-item">
<a href="#" title="1">1</a>
</li>
<li class="paginationBar-item" aria-current="page">
<a href="#" title="2">2</a>
</li>
<li class="paginationBar-item">
<a href="#" title="3">3</a>
</li>
<li class="paginationBar-item">
<span>…</span>
</li>
<li class="paginationBar-item">
<a href="#" title="150">150</a>
</li>
<li class="paginationBar-item" data-direction="next">
<a href="#" title="Nächste Seite">Nächste Seite</a>
</li>
</ul>
</nav>
<!-- Maximum Size -->
<nav class="paginationBar" aria-label="pagination">
<ul class="paginationBar-list">
<li class="paginationBar-item" data-direction="previous">
<span>Vorherige Seite</span>
</li>
<li class="paginationBar-item">
<a href="#" title="23">23</a>
</li>
<li class="paginationBar-item">
<a href="#" title="24">24</a>
</li>
<li class="paginationBar-item">
<a href="#" title="25">25</a>
</li>
<li class="paginationBar-item">
<a href="#" title="26">26</a>
</li>
<li class="paginationBar-item">
<a href="#" title="27">27</a>
</li>
<li class="paginationBar-item" aria-current="page">
<a href="#" title="28">28</a>
</li>
<li class="paginationBar-item">
<a href="#" title="29">29</a>
</li>
<li class="paginationBar-item">
<a href="#" title="30">30</a>
</li>
<li class="paginationBar-item">
<a href="#" title="31">31</a>
</li>
<li class="paginationBar-item">
<a href="#" title="32">32</a>
</li>
<li class="paginationBar-item" data-direction="next">
<a href="#" title="Nächste Seite">Nächste Seite</a>
</li>
</ul>
</nav>
<nav class="paginationBar{{#modifier}} {{.}}{{/modifier}}" aria-label="pagination">
{{#title}}
<div class="paginationBar-title">
<strong>{{{.}}}</strong>
</div>
{{/title}}
<ul class="paginationBar-list">
{{#prev}}
<li class="paginationBar-item" data-direction="previous">
{{#if url}}<a href="{{url}}" title="{{label}}">{{else}}<span>{{/if}}{{{label}}}{{#if url}}</a>{{else}}</span>{{/if}}
</li>
{{/prev}}
{{#items}}
<li class="paginationBar-item"{{#if is-current}} aria-current="page"{{/if}}>
{{#if url}}<a href="{{url}}" title="{{label}}">{{else}}<span>{{/if}}{{{label}}}{{#if url}}</a>{{else}}</span>{{/if}}
</li>
{{/items}}
{{#next}}
<li class="paginationBar-item" data-direction="next">
{{#if url}}<a href="{{url}}" title="{{label}}">{{else}}<span>{{/if}}{{{label}}}{{#if url}}</a>{{else}}</span>{{/if}}
</li>
{{/next}}
</ul>
</nav>
/* Default */
{
"prev": {
"label": "Vorherige Seite"
},
"next": {
"label": "Nächste Seite",
"url": "#"
},
"items": [
{
"label": 1,
"url": "#"
},
{
"label": 2,
"url": "#",
"is-current": true
},
{
"label": 3,
"url": "#"
},
{
"label": "…"
},
{
"label": 150,
"url": "#"
}
]
}
/* With Title */
{
"prev": {
"label": "Vorherige Seite"
},
"next": {
"label": "Nächste Seite",
"url": "#"
},
"items": [
{
"label": 1,
"url": "#"
},
{
"label": 2,
"url": "#",
"is-current": true
},
{
"label": 3,
"url": "#"
},
{
"label": "…"
},
{
"label": 150,
"url": "#"
}
],
"title": "Seite:"
}
/* Maximum Size */
{
"prev": {
"label": "Vorherige Seite"
},
"next": {
"label": "Nächste Seite",
"url": "#"
},
"items": [
{
"label": 23,
"url": "#"
},
{
"label": 24,
"url": "#"
},
{
"label": 25,
"url": "#"
},
{
"label": 26,
"url": "#"
},
{
"label": 27,
"url": "#"
},
{
"label": 28,
"url": "#",
"is-current": true
},
{
"label": 29,
"url": "#"
},
{
"label": 30,
"url": "#"
},
{
"label": 31,
"url": "#"
},
{
"label": 32,
"url": "#"
}
]
}
$paginationBar_gap: var(--bw-large) !default;
$paginationBar_link_styles: (
background-color: $_backdrop-color,
border-radius: var(--br-small),
transition: $_transition-duration,
transition-property: (background-color, color),
) !default;
$paginationBar_link_states: (
default: $paginationBar_link_styles,
hover: (
background-color: $_action-background-color--hover,
color: $_action-foreground-color--hover,
transition-duration: $_transition-duration--in,
),
focus: $_focus_styles,
active: (
background-color: $_action-background-color--active,
color: $_action-foreground-color--active,
),
current: (
background-color: $_action-background-color--hover,
color: $_action-foreground-color--hover,
),
disabled: (
color: $_disabled-color,
),
) !default;
$paginationBar_marker_icon_stroke-width: 2 !default;
$paginationBar_marker_icon: '<svg width="32" height="32" viewBox="0 0 32 32" stroke="{{color}}" stroke-width="#{$paginationBar_marker_icon_stroke-width}" stroke-linecap="round" stroke-linejoin="round" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 22.5L19.5 16L12.5 9.5"/></svg>' !default;
@import "_paginationBar.settings";
@import "_paginationBar.styles";
$paginationBar_padding-inline: var(--bp-small) !default;
$paginationBar_padding-block: calc(.5 * var(--bp-small)) !default;
$paginationBar_gap: var(--bw) !default;
$paginationBar_link_styles: (
background-color: $_backdrop-color,
transition: $_transition-duration,
transition-property: (background-color, color),
) !default;
$paginationBar_link_states: (
default: $paginationBar_link_styles,
hover: (
background-color: $_action-background-color--hover,
color: $_action-foreground-color--hover,
transition-duration: $_transition-duration--in,
),
focus: $_focus_styles,
active: (
background-color: $_action-background-color--active,
color: $_action-foreground-color--active,
),
current: (
font-weight: bold,
),
disabled: (
color: $_disabled-color,
),
) !default;
$paginationBar_link_styles--mobile: (
text-size: small,
) !default;
$paginationBar_marker_icon_stroke-width: 2 !default;
$paginationBar_marker_icon: '<svg width="32" height="32" viewBox="0 0 32 32" stroke="{{color}}" stroke-width="#{$paginationBar_marker_icon_stroke-width}" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 22.5L19.5 16L12.5 9.5"/></svg>' !default;
%paginationBar {
@include stack-spacing(component);
display: flex;
column-gap: .5em;
align-items: baseline;
&-list {
@include stack-spacing(0);
list-style: none;
padding: 0;
display: flex;
column-gap: $paginationBar_gap;
row-gap: $paginationBar_gap;
flex-wrap: wrap;
> * {
white-space: nowrap;
min-width: calc(1lh + 2 * #{$paginationBar_padding-block});
}
}
&-item {
display: flex;
align-items: center;
text-align: center;
position: relative;
> * {
display: block;
width: 100%;
padding: $paginationBar_padding-block $paginationBar_padding-inline;
color: inherit;
text-decoration: none;
@include styles($paginationBar_link_styles);
}
&[aria-current="page"] > * {
pointer-events: none;
@include state-styles($paginationBar_link_states, current);
}
&:not([aria-current="page"]) a {
@include action-states($paginationBar_link_states);
}
}
&-item--direction {
width: 0;
position: relative;
> * {
text-indent: calc(100% + 2 * #{$paginationBar_padding-block});
white-space: nowrap;
overflow: hidden;
&::before {
content: "\2192";
position: absolute;
left: 0;
right: 0;
text-indent: 0;
@supports (mask-image: url()) {
content: "";
background-color: currentcolor;
top: 0;
bottom: 0;
mask-image: svg-url($paginationBar_marker_icon, black);
mask-repeat: no-repeat;
mask-position: center center;
}
}
}
span {
@include state-styles($paginationBar_link_states, disabled);
}
}
&-item--direction--previous {
transform: scaleX(-1);
}
&-item--direction--next {
}
&-item[data-direction] {
@extend %paginationBar-item--direction;
}
&-item[data-direction="previous"] {
@extend %paginationBar-item--direction--previous;
}
&-item[data-direction="next"] {
@extend %paginationBar-item--direction--next;
}
@include not-on-desktop(){
&-item {
@include styles($paginationBar_link_styles--mobile);
}
}
}
.paginationBar {
@extend %paginationBar;
&-list {
@extend %paginationBar-list;
}
&-item {
@extend %paginationBar-item;
}
}