{{-- The showcase's frame, and the package's own scaffold at work: the rail groups every section, collapses and expands from `lg`, and opens as a modal from the app bar's menu button on a phone. Pages move with wire:navigate, so the rail keeps its place and the theme stays. --}} @php $sections ??= \NoNameWeb\LivewireMaterial\Showcase\Sections::all(); $section ??= null; $title = $section !== null ? $sections[$section]['title'] : 'Livewire Material'; $destinations = [[ 'title' => 'Overview', 'icon' => 'home', 'url' => route('livewire-material.showcase'), 'active' => $section === null, 'bar' => false, ]]; foreach ($sections as $key => $entry) { $destinations[] = [ 'title' => $entry['title'], 'icon' => $entry['icon'], 'url' => route('livewire-material.section', $key), 'active' => $key === $section, 'section' => $entry['group'], 'bar' => false, ]; } @endphp {{ $section !== null ? $title.' · Livewire Material' : 'Livewire Material' }} {{-- The application's own entries, JavaScript only (Livewire, Alpine): no showcase view needs anything Tailwind builds any more, and linking its CSS here would open the document's first @layer statement (Workbench package.css's header explains the trick) ahead of the showcase's own bundle below, re-anchoring `material` before Tailwind's own layers instead of after. config('livewire-material.showcase.vite')'s own comment says why ErrorPage::assets() still passes the whole array. --}} @vite(array_filter(config('livewire-material.showcase.vite'), fn (string $entry): bool => ! str_ends_with($entry, '.css'))) @livewireStyles {{-- The showcase's own chrome: does not depend on the build above. --}} Livewire Material {{-- The search looks through every section, example and component: the index is fetched on first focus, and / or Ctrl+K (⌘K) reaches it from anywhere. Its names keep clear of 's own (`results`, `open`), which the slot also sees. --}}

Type a component (datepicker), an example or a section. Press / to search from anywhere.

Nothing matches “”.

{{-- With colour profiles, a preview of each on this page; nothing is stored. --}} @if (($profiles = \NoNameWeb\LivewireMaterial\Support\Scheme::profiles()) !== []) @foreach ($profiles as $name => $profile) @endforeach @endif
@yield('content')
@livewireScripts {{-- wire:navigate keeps the URL's hash but not the scroll to it: a search result that opens an example on another page lands on the example. --}}