Navigation Menu
NewHorizontal navigation bar component built on DaisyUI's navbar and menu patterns. Supports link items with active state, icons, and background variants.
API Reference
c-navigation-menu
| Attribute | Description | Type | Default |
|---|---|---|---|
bg
|
Background color of the navigation bar. Use primary or neutral for branded headers — the component automatically applies the matching content color.
|
string |
""
|
shadow
|
Adds a drop shadow beneath the bar | boolean |
False
|
c-navigation-menu.item
| Attribute | Description | Type | Default |
|---|---|---|---|
href
|
Destination URL — causes the item to render as an <a> tag
|
string |
""
|
active
|
Highlights the item as the current page and adds aria-current="page"
|
boolean |
False
|
disabled
|
Disables interaction and applies muted styling | boolean |
False
|
bg
base-100
base-200
primary
neutral
Accessibility
Nav landmark: the component renders a <nav> element,
which is exposed as a navigation landmark to assistive technologies. If multiple nav elements are present on
a page, add a distinct aria-label via the class passthrough.
Current page: when active="True" is set on an item,
aria-current="page" is added automatically so screen readers announce the
currently active link.
Disabled items: disabled items have pointer-events: none applied
via CSS. They are not removed from the tab order by default — if needed, add tabindex="-1"
via the attrs passthrough to exclude them from keyboard navigation.
Examples
Usage
<c-navigation-menu bg="base-100" shadow="True">
<c-navigation-menu.item href="#home">Home</c-navigation-menu.item>
<c-navigation-menu.item href="#products" active="True">Products</c-navigation-menu.item>
<c-navigation-menu.item href="#contact">Contact</c-navigation-menu.item>
</c-navigation-menu>
Basic Horizontal Nav
<c-navigation-menu bg="base-100" shadow="True">
<c-navigation-menu.item href="#home">Home</c-navigation-menu.item>
<c-navigation-menu.item href="#products" active="True">Products</c-navigation-menu.item>
<c-navigation-menu.item href="#blog">Blog</c-navigation-menu.item>
<c-navigation-menu.item href="#contact">Contact</c-navigation-menu.item>
</c-navigation-menu>
Nav Items with Icons
<c-navigation-menu bg="base-100" shadow="True">
<c-navigation-menu.item href="#dashboard" active="True">
<c-icon name="layout-dashboard" />
Dashboard
</c-navigation-menu.item>
<c-navigation-menu.item href="#analytics">
<c-icon name="bar-chart-2" />
Analytics
</c-navigation-menu.item>
</c-navigation-menu>
Full Navbar Layout
<div class="navbar bg-base-100 shadow">
<div class="navbar-start">
<a class="btn btn-ghost text-xl font-bold" href="#">Kaiko</a>
</div>
<div class="navbar-center">
<c-navigation-menu>
<c-navigation-menu.item href="#home" active="True">Home</c-navigation-menu.item>
<c-navigation-menu.item href="#features">Features</c-navigation-menu.item>
</c-navigation-menu>
</div>
<div class="navbar-end">
<a class="btn btn-primary btn-sm" href="#">Sign up</a>
</div>
</div>
Background Variants
bg="base-200"
bg="primary"
bg="neutral"
<c-navigation-menu bg="base-200">...</c-navigation-menu>
<c-navigation-menu bg="primary">...</c-navigation-menu>
<c-navigation-menu bg="neutral">...</c-navigation-menu>
Disabled Item
<c-navigation-menu bg="base-100">
<c-navigation-menu.item href="#home" active="True">Home</c-navigation-menu.item>
<c-navigation-menu.item href="#features">Features</c-navigation-menu.item>
<c-navigation-menu.item href="#admin" disabled="True">Admin</c-navigation-menu.item>
</c-navigation-menu>