Skip to content
Velkin LogoVelkin Logo
Velkin
VELKIN/UI

Modern UI components for product teams and their AI agents. Lit core, typed wrappers, live MCP.

sales@velkinui.com

Product

  • Docs
  • Components
  • Studio
  • Pricing

Resources

  • Quick start
  • Blog
  • Changelog
  • Roadmap
  • Status

Project

  • About
  • Contact
  • License
  • Privacy
  • Terms

© 2026 Velkin. MIT core · Pro licenses available.

VELKIN

Navbar

A responsive navbar component with desktop menus and a mobile drawer.

vu-navbar · @velkin/react/navbar

Copy page

Import

React
npm i @velkin/react

import { VuNavbar } from "@velkin/react/navbar";

Examples

API

Props

PropTypeDefaultDescription
itemsVuNavbarItem[][]Full menu item model.
variantVuNavbarVariant"flat"Bar surface recipe (`flat`/`outline`/`elevated` plus chrome extras `transparent`/`inset`). Default: `"flat"`.
toneVuNavbarTone"normal"Neutral surface weight; also relays into flyout panels. Default: `"normal"`.
sizeVuNavbarSize"md"Bar height and link padding scale; also relays into flyout panels. Default: `"md"`.
indicatorVuNavbarIndicator"underline"Active top-level link affordance (`underline`/`pill`/`dot`/`none`); `pill` is selection chrome — not `radius="full"`. Default: `"underline"`.
containedbooleanfalseCenters the bar row with a max inline width. Default: `false`.
activeRoutenull | stringnullActive route for highlighting (`activeroute` attr).
breakpointnumber768Mobile breakpoint in pixels. Default: `768`.
isMobilebooleanfalseMobile layout flag (`ismobile` attr).
overflowThresholdnumber0Minimum visible items before overflow mode. Default: `0`.
justifyBarstring"space-between"CSS `justify-content` for the outer bar (`justifybar` attr).
justifyBarItemsstring"center"CSS `justify-content` for the item row (`justifybaritems` attr).
pwaOverlaybooleanfalseWindow-controls-overlay placement (`pwaoverlay` attr). Default: `false`.
customEventbooleanfalseEmits `vu-activate` instead of `vu-navigate` (`customevent` attr). Default: `false`.
menuTriggerVuNavbarMenuTrigger"hover"Desktop submenu open interaction (`menutrigger` attr). Default: `"hover"`.
placementVuNavbarPlacement"bottom"Preferred side for top dropdown. Default: `"bottom"`.
alignVuNavbarAlign"start"Alignment along the trigger edge. Default: `"start"`.
offsetnumber8Gap in px between trigger and dropdown. Default: `8`.
stickybooleanfalsePins to the top of the scroll container. Default: `false`.
condensebooleanfalseElevates and shortens the bar when `sticky`. Default: `false`.
arialabelstring—Mobile drawer accessible name (`arialabel` attr).
menuLabelstring""Mobile menu toggle accessible name (`menulabel` attr).
closeLabelstring""Mobile drawer close accessible name (`closelabel` attr).
menubarLabelstring""Desktop menubar row accessible name (`menubarlabel` attr).
ariaLabelstring""Mobile drawer accessible name.

Events

EventDetailDescription
vu-navigateVuNavbarNavigateDetailWhen a route item is activated.
vu-activateVuNavbarItemActivateDetailWhen an item is activated in `customEvent` mode.

Slots

SlotDescription
prependContent before navigation items on desktop.
appendContent after navigation items on desktop.
prepend-mobileContent before navigation items in mobile mode.
append-mobileContent after navigation items in mobile mode.
headerHeader content for the mobile drawer.
footerFooter content for the mobile drawer.

CSS parts

PartDescription
nav-desktopDesktop navigation container.
nav-mobileMobile navigation container.
nav-barNavigation bar container.
nav-linkDesktop top-level nav control.
top-menuDesktop dropdown panel.
nested-menuNested flyout panel.

Methods

MethodDescription
openMenu- Opens the mobile drawer menu.
closeMenu- Closes mobile drawer and desktop submenus.
toggleMenu- Toggles the mobile drawer menu.
closeMenus- Closes all open menus.

Types

NameDefinition
string | null
null | string
VuNavbarAlign
"start" | "center" | "end"
VuNavbarIndicator
"none" | "dot" | "underline" | "pill"
VuNavbarItemActivateDetail
{ item: VuNavbarItem; path: string | null; }
VuNavbarMenuTrigger
"auto" | "click" | "hover"
VuNavbarNavigateDetail
{ route: string; }
VuNavbarPlacement
"top" | "bottom" | "left" | "right" | "auto"
VuNavbarSize
"sm" | "md" | "lg"
VuNavbarTone
"subtle" | "normal" | "strong"
VuNavbarVariant
"outline"
| "flat"
| "elevated"
| "transparent"
| "inset"

Related

Navigation

  • Adaptive BarA responsive toolbar component that overflows extra items into a menu.
  • AppbarAn application bar component with start, center, and end slots.
  • BreadcrumbA breadcrumb component for navigation trails with optional collapse.
  • Context MenuA context menu component with grouped actions and icons.
  • DropdownA dropdown menu component with trigger slot and keyboard navigation.
  • MenubarA menubar component with nested submenus and keyboard navigation.

Guides

  • AccessibilityFocus and naming
  • SlotsHeader, body, and item slots

Browse

  • Previous: Nav PanelEarlier in the sidebar
  • Next: PaginationLater in the sidebar
  • All componentsBrowse the full index