Files
livewire-material/resources/views/showcase/sections/data.blade.php
T
Andreas Reinhold / reiniandClaude Opus 5 83ed671c4e
tests / lint (push) Successful in 1m0s
tests / feature (8.4) (push) Successful in 1m10s
tests / feature (8.5) (push) Successful in 1m6s
tests / browser (chrome, chromium) (push) Successful in 3m28s
tests / browser (firefox, firefox) (push) Successful in 4m20s
tests / browser (safari, webkit) (push) Failing after 6m16s
Add data tables, sort headers and M3 paginators
A data table styled from descendant selectors, a Livewire sort header
with aria-sort, and Laravel's and Livewire's full and simple paginators
drawn in M3, put in front of their own views.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9NnLxnPp8vaaurb3Z1MFy
2026-09-13 08:32:59 +02:00

57 lines
2.6 KiB
PHP

@php
$examples = [
'Data table' => <<<'BLADE'
<div class="w-full overflow-x-auto">
<x-table>
<thead>
<tr>
<x-sort-header column="name" :sort-by="['column' => 'name', 'direction' => 'asc']">Name</x-sort-header>
<x-sort-header column="size" :sort-by="['column' => 'name', 'direction' => 'asc']" class="text-end">Size</x-sort-header>
<th>Expires</th>
<th><span class="sr-only">Actions</span></th>
</tr>
</thead>
<tbody>
<tr data-list-row>
<td><a href="#data" data-list-open>contract.pdf</a></td>
<td class="text-end tabular-nums">1.2 MB</td>
<td>in 1 hour</td>
<td class="text-end"><x-button icon="more_vert" tooltip="More" /></td>
</tr>
<tr data-list-row aria-selected="true">
<td><a href="#data" data-list-open>design-review.mp4</a></td>
<td class="text-end tabular-nums">3.4 GB</td>
<td>in 7 days</td>
<td class="text-end"><x-button icon="more_vert" tooltip="More" /></td>
</tr>
<tr data-list-row>
<td><a href="#data" data-list-open>holiday-photos.zip</a></td>
<td class="text-end tabular-nums">248 MB</td>
<td>in 3 days</td>
<td class="text-end"><x-button icon="more_vert" tooltip="More" /></td>
</tr>
</tbody>
</x-table>
</div>
BLADE,
'Pagination' => <<<'BLADE'
<div class="grid w-full gap-6">
{{ (new \Illuminate\Pagination\LengthAwarePaginator(range(1, 10), 95, 10, 3, ['path' => '#data']))->links() }}
{{ (new \Illuminate\Pagination\Paginator(range(1, 11), 10, 2, ['path' => '#data']))->links() }}
</div>
BLADE,
];
@endphp
<section id="data" class="scroll-mt-24 space-y-6">
<h2 class="type-headline-md">Data</h2>
<p class="max-w-3xl type-body-md text-on-surface-variant">
<code>&lt;x-table&gt;</code>, <code>&lt;x-sort-header&gt;</code>, and Laravel's and Livewire's paginators.
</p>
@foreach ($examples as $title => $code)
<x-showcase::example :$title :$code />
@endforeach
</section>