Components
Navigation Menu
A collection of links for navigating websites.
php artisan blatui:add navigation-menu
<x-ui.navigation-menu>
<x-ui.navigation-menu-list>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-trigger>Getting started</x-ui.navigation-menu-trigger>
<x-ui.navigation-menu-content>
<ul class="grid w-[300px] gap-1">
<li>
<x-ui.navigation-menu-link href="#">
<div class="text-sm font-medium leading-none">Introduction</div>
<p class="text-muted-foreground line-clamp-2 text-sm leading-snug">
Re-usable components built with Blade and Tailwind CSS.
</p>
</x-ui.navigation-menu-link>
</li>
<li>
<x-ui.navigation-menu-link href="#">
<div class="text-sm font-medium leading-none">Installation</div>
<p class="text-muted-foreground line-clamp-2 text-sm leading-snug">
How to install dependencies and structure your app.
</p>
</x-ui.navigation-menu-link>
</li>
</ul>
</x-ui.navigation-menu-content>
</x-ui.navigation-menu-item>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-trigger>Components</x-ui.navigation-menu-trigger>
<x-ui.navigation-menu-content>
<ul class="grid w-[300px] gap-1">
<li>
<x-ui.navigation-menu-link href="#">
<div class="text-sm font-medium leading-none">Alert Dialog</div>
<p class="text-muted-foreground line-clamp-2 text-sm leading-snug">
A modal dialog that interrupts the user with important content.
</p>
</x-ui.navigation-menu-link>
</li>
<li>
<x-ui.navigation-menu-link href="#">
<div class="text-sm font-medium leading-none">Tooltip</div>
<p class="text-muted-foreground line-clamp-2 text-sm leading-snug">
A popup that displays information related to an element.
</p>
</x-ui.navigation-menu-link>
</li>
</ul>
</x-ui.navigation-menu-content>
</x-ui.navigation-menu-item>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-link href="#" class="px-4 py-2">Docs</x-ui.navigation-menu-link>
</x-ui.navigation-menu-item>
</x-ui.navigation-menu-list>
</x-ui.navigation-menu>
Featured
{{-- The signature layout: a featured hero card beside a link grid, plus an icon grid. --}}
<x-ui.navigation-menu>
<x-ui.navigation-menu-list>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-trigger>Getting started</x-ui.navigation-menu-trigger>
<x-ui.navigation-menu-content>
<ul class="grid gap-2 p-2 md:w-[400px] lg:w-[500px] lg:grid-cols-[.75fr_1fr]">
<li class="row-span-3">
<x-ui.navigation-menu-link href="#" class="from-muted/50 to-muted flex h-full w-full flex-col justify-end rounded-md bg-linear-to-b p-6 no-underline select-none">
<x-lucide-component class="size-6" />
<div class="mt-4 mb-1 text-lg font-medium">BlatUI</div>
<p class="text-muted-foreground text-sm leading-tight">Beautifully designed Blade components you copy, paste and own.</p>
</x-ui.navigation-menu-link>
</li>
<li>
<x-ui.navigation-menu-link href="#">
<div class="text-sm font-medium">Introduction</div>
<p class="text-muted-foreground line-clamp-2 text-sm leading-snug">Re-usable components built with Blade and Tailwind CSS.</p>
</x-ui.navigation-menu-link>
</li>
<li>
<x-ui.navigation-menu-link href="#">
<div class="text-sm font-medium">Installation</div>
<p class="text-muted-foreground line-clamp-2 text-sm leading-snug">How to install dependencies and structure your app.</p>
</x-ui.navigation-menu-link>
</li>
<li>
<x-ui.navigation-menu-link href="#">
<div class="text-sm font-medium">Typography</div>
<p class="text-muted-foreground line-clamp-2 text-sm leading-snug">Styles for headings, paragraphs, lists and more.</p>
</x-ui.navigation-menu-link>
</li>
</ul>
</x-ui.navigation-menu-content>
</x-ui.navigation-menu-item>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-trigger>Components</x-ui.navigation-menu-trigger>
<x-ui.navigation-menu-content>
<ul class="grid w-[400px] gap-2 p-2 md:w-[500px] md:grid-cols-2">
@foreach ([['layout-grid', 'Layout', 'Page scaffolding and grids.'], ['bell', 'Alerts', 'Banners, toasts and callouts.'], ['mouse-pointer-click', 'Inputs', 'Buttons, fields and controls.'], ['panels-top-left', 'Overlays', 'Dialogs, sheets and popovers.']] as [$icon, $title, $desc])
<li>
<x-ui.navigation-menu-link href="#" class="flex-row items-center gap-3">
<x-dynamic-component :component="'lucide-'.$icon" class="text-muted-foreground size-5 shrink-0" />
<div>
<div class="text-sm font-medium">{{ $title }}</div>
<p class="text-muted-foreground line-clamp-1 text-sm leading-snug">{{ $desc }}</p>
</div>
</x-ui.navigation-menu-link>
</li>
@endforeach
</ul>
</x-ui.navigation-menu-content>
</x-ui.navigation-menu-item>
</x-ui.navigation-menu-list>
</x-ui.navigation-menu>
Simple
<x-ui.navigation-menu>
<x-ui.navigation-menu-list>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-link href="#" class="px-4 py-2">Home</x-ui.navigation-menu-link>
</x-ui.navigation-menu-item>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-link href="#" class="px-4 py-2">Pricing</x-ui.navigation-menu-link>
</x-ui.navigation-menu-item>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-link href="#" class="px-4 py-2">Docs</x-ui.navigation-menu-link>
</x-ui.navigation-menu-item>
<x-ui.navigation-menu-item>
<x-ui.navigation-menu-link href="#" class="px-4 py-2">About</x-ui.navigation-menu-link>
</x-ui.navigation-menu-item>
</x-ui.navigation-menu-list>
</x-ui.navigation-menu>
API Reference
Props, slots and exposed methods for
<x-ui.navigation-menu>.
Slots
| Slot | Description |
|---|---|
default |
The menu composition. Wrap entries in <x-ui.navigation-menu-list>, then one <x-ui.navigation-menu-item> per top-level entry. An item is either a dropdown (<x-ui.navigation-menu-trigger> followed by <x-ui.navigation-menu-content> holding the panel markup) or a plain <x-ui.navigation-menu-link href>. Links accept active to mark the current page. Only one menu is open at a time, controlled by the shared Alpine scope. |