<!-- Pagination -->
			<div class="pagination" data-js-focus-on-load id="pagination-6">
			    <h2 class="pagination__title" id="pagination-6__title">Pagination</h2>

			    <div class="pagination__body">
			        <nav class="pagination__nav" aria-labelledby="pagination-6__title">

			            <div class="pagination__control pagination__control--previous">

			                <a class="pagination__control-link
 				" id="pagination-6__nav-link-previous" aria-labelledby="pagination-6__title pagination-6__nav-link-previous" rel="prev" aria-disabled="" tabindex="" href="?page=1">
			                    <span class="pagination__control-link-inner"> <span class="pagination__control-link-label">Previous Page</span>
			                        <span class="pagination__control-link-icon" aria-hidden="true">
			                            <svg class="icon icon--arrow-left">
			                                <use href="/images/icons.svg?1.0.0#arrow-left" />
			                            </svg>
			                        </span>
			                    </span>
			                </a>
			            </div>

			            <ul class="pagination__nav-list">
			                <li class="pagination__nav-item">

			                    <a class="pagination__nav-link
 		 			pagination__nav-link--number
 				" href="?page=1">
			                        <span class="pagination__nav-link-inner"> <span class="pagination__nav-link-label">1</span>
			                        </span>
			                    </a>
			                </li>

			                <li class="
										pagination__nav-item
										
									">

			                    <a class="pagination__nav-link
 		 			pagination__nav-link--number
 		 			pagination__nav-link--current
 				" aria-current="page" href="?page=2">
			                        <span class="pagination__nav-link-inner"> <span class="pagination__nav-link-label">2</span>
			                        </span>
			                    </a>
			                </li>

			                <li class="pagination__nav-item">

			                    <a class="pagination__nav-link
 		 			pagination__nav-link--number
 				" href="?page=3">
			                        <span class="pagination__nav-link-inner"> <span class="pagination__nav-link-label">3</span>
			                        </span>
			                    </a>
			                </li>
			            </ul>

			            <div class="pagination__control pagination__control--next">

			                <a class="pagination__control-link
 				" id="pagination-6__nav-link-next" aria-labelledby="pagination-6__title pagination-6__nav-link-next" rel="next" aria-disabled="" tabindex="" href="?page=3">
			                    <span class="pagination__control-link-inner"> <span class="pagination__control-link-label">Next Page</span>
			                        <span class="pagination__control-link-icon" aria-hidden="true">
			                            <svg class="icon icon--arrow-right">
			                                <use href="/images/icons.svg?1.0.0#arrow-right" />
			                            </svg>
			                        </span>
			                    </span>
			                </a>
			            </div>

			        </nav>
			    </div>
			</div>
			<!-- END: Pagination -->
{#
	{% include '@partial-pagination' with {
		title: 'Articles Pagination',
		pages: 50,
		current_page: 1,
		focus_target: '.news-list__item'
	} %}
#}

{% if pages > 1 %}
	{% set id = uniqid('pagination') %}
	{% set heading_level = heading_level ?? 2 %}
	{% set heading_tag = 'h' ~ (heading_level) %}

	{% set current_page = current_page|default(1) + 0 %}
	{% set pages = pages|default(1) + 0 %}

	{% set siblings = 2 %}
	{% set start_delta = 3 %}
	{% set end_delta = 3 %}
	{% set left_bound = current_page - siblings %}
	{% set right_bound = current_page + siblings %}

	{% if current_page == 1 %}
		{% set right_bound = current_page + start_delta %}
	{% endif %}
	{% if current_page == pages %}
		{% set left_bound = pages - end_delta %}
	{% endif %}

	<!-- Pagination -->
	<div
		class="pagination"
		data-js-focus-on-load{% if focus_target %}='{ "focusTarget": "{{ focus_target }}", "urlParam": "page" }'{% endif %}
		id="{{ id }}"
	>
		<{{ heading_tag }} class="pagination__title" id="{{ id ~ '__title' }}">
			{{- title|default('Pagination') -}}
		</{{ heading_tag }}>

		<div class="pagination__body">
			<nav
				class="pagination__nav"
				aria-labelledby="{{ id ~ '__title' }}"
			>

				{% set is_prev_disabled = current_page <= 1 %}

				<div class="pagination__control pagination__control--previous">
					{% include '@partial-link' with {
						classes: {
							base: 'pagination__control-link',
							modifiers: is_prev_disabled ? ['disabled'] : []
						},
						id: id ~ '__nav-link-previous',
						title: 'Previous Page',
						url: is_prev_disabled ? null : '?page=' ~ (current_page - 1),
						icon: 'arrow-left',
						attributes: {
							'aria-labelledby': id ~ '__title ' ~ id ~ '__nav-link-previous',
							'rel': 'prev',
							'aria-disabled': is_prev_disabled ? 'true' : null,
							'tabindex': is_prev_disabled ? '-1' : null
						}
					} only %}
				</div>

				<ul class="pagination__nav-list">
					<li class="pagination__nav-item">
						{% include '@partial-link' with {
							classes: {
								base: 'pagination__nav-link',
								modifiers: current_page == 1 ? ['number', 'current'] : ['number']
							},
							title: 1,
							url: '?page=1',
							attributes: current_page == 1 ? {'aria-current': 'page'} : {}
						} only %}
					</li>

					{% if left_bound > 2 %}
						<li
							class="
								pagination__nav-item
								pagination__nav-item--ellipsis
							"
							aria-hidden="true"
						>
							<span class="pagination__ellipsis">
								&hellip;
							</span>
						</li>
					{% endif %}

					{% if pages > 2 %}
						{% for i in 2..(pages - 1) %}
							{% if i >= left_bound and i <= right_bound %}

								{% set is_desktop_only = true %}

								{% set distance = (current_page - i)|abs %}

								{% if distance < 2 %}
									{% set is_desktop_only = false %}
								{% endif %}

								{% if (current_page == 1 and i <= 3) or (current_page == pages and i >= pages - 2) %}
									{% set is_desktop_only = false %}
								{% endif %}

								<li
									class="
										pagination__nav-item
										{{ is_desktop_only ? 'pagination__nav-item--desktop-only' }}
									"
								>
									{% include '@partial-link' with {
										classes: {
											base: 'pagination__nav-link',
											modifiers: current_page == i ? ['number', 'current'] : ['number']
										},
										title: i,
										url: '?page=' ~ i,
										attributes: current_page == i ? {'aria-current': 'page'} : {}
									} only %}
								</li>
							{% endif %}
						{% endfor %}
					{% endif %}

					{% if right_bound < pages - 1 %}
						<li
							class="
								pagination__nav-item
								pagination__nav-item--ellipsis
							"
							aria-hidden="true"
						>
							<span class="pagination__ellipsis">
								&hellip;
							</span>
						</li>
					{% endif %}

					{% if pages > 1 %}
						<li class="pagination__nav-item">
							{% include '@partial-link' with {
								classes: {
									base: 'pagination__nav-link',
									modifiers: current_page == pages ? ['number', 'current'] : ['number']
								},
								title: pages,
								url: '?page=' ~ pages,
								attributes: current_page == pages ? {'aria-current': 'page'} : {}
							} only %}
						</li>
					{% endif %}
				</ul>

				{% set is_next_disabled = current_page >= pages %}

				<div class="pagination__control pagination__control--next">
					{% include '@partial-link' with {
						classes: {
							base: 'pagination__control-link',
							modifiers: is_next_disabled ? ['disabled'] : []
						},
						id: id ~ '__nav-link-next',
						title: 'Next Page',
						url: is_next_disabled ? null : '?page=' ~ (current_page + 1),
						icon: 'arrow-right',
						attributes: {
							'aria-labelledby': id ~ '__title ' ~ id ~ '__nav-link-next',
							'rel': 'next',
							'aria-disabled': is_next_disabled ? 'true' : null,
							'tabindex': is_next_disabled ? '-1' : null
						}
					} only %}
				</div>

			</nav>
		</div>
	</div>
	<!-- END: Pagination -->
{% endif %}

No notes defined.