Guides
Navigation
Feedback
Overlays
Layout
Data Display
Forms
.md

Navigation

pagination

Page navigation with previous, next, numbered links and an ellipsis.

Installation

php artisan ui:add pagination

Usage

{{-- Hand-built --}}
<x-ui.pagination>
    <x-ui.pagination.content>
        <x-ui.pagination.item>
            <x-ui.pagination.previous href="?page=1" />
        </x-ui.pagination.item>
        <x-ui.pagination.item>
            <x-ui.pagination.link href="?page=2" :is-active="true">2</x-ui.pagination.link>
        </x-ui.pagination.item>
        <x-ui.pagination.item>
            <x-ui.pagination.ellipsis />
        </x-ui.pagination.item>
        <x-ui.pagination.item>
            <x-ui.pagination.next href="?page=3" />
        </x-ui.pagination.item>
    </x-ui.pagination.content>
</x-ui.pagination>

{{-- Driven by a Laravel paginator --}}
<x-ui.pagination>
    <x-ui.pagination.content>
        @foreach ($posts->getUrlRange(1, $posts->lastPage()) as $page => $url)
            <x-ui.pagination.item>
                <x-ui.pagination.link :href="$url" :is-active="$page === $posts->currentPage()">
                    {{ $page }}
                </x-ui.pagination.link>
            </x-ui.pagination.item>
        @endforeach
    </x-ui.pagination.content>
</x-ui.pagination>

No JavaScript. Plain links, so it works with a Laravel paginator or a hand-built list; mark the current page with :is-active on the link.

Props

Every prop with its default. Pass any of them as attributes, using : to bind a PHP value.

@props([])