Skip to content

Navigation Group ​

ue-navigation-group renders a recursive sidebar navigation list. It supports nested subgroups, badge indicators, flyout menus, and Inertia.js links.

Usage ​

html
<ue-navigation-group :items="navItems" />

Props ​

PropTypeDefaultDescription
itemsArrayrequiredArray of navigation item objects (see Item Shape below)
levelNumber0Current nesting depth — set automatically by recursive children
hideIconsBooleanfalseSuppress prepend icons on all items
showTooltipBooleanfalseShow item name in a tooltip — useful in rail/collapsed sidebar mode
profileMenuBooleanfalseRender items as compact menu-route entries (used inside the profile popover)

Item Shape ​

Each item in the items array is a plain object. The component determines how to render it based on which keys are present:

KeyTypeDescription
nameStringDisplay label
iconStringMDI icon name (e.g. mdi-home)
route / hrefStringNavigation target — renders as a link or Inertia link
itemsArrayChild items — makes this item a collapsible subgroup
menuItemsObjectChild items rendered as a flyout v-menu
attranyMarks the item as an event-trigger rather than a link
badgeNumber|StringBadge content displayed on the icon (capped at 9+)
badgePropsObjectAdditional props forwarded to the v-badge
is_activeBoolean|NumberPre-selects this item as active and auto-opens any parent group
blankBooleanIf true, the link opens in a new tab
is_modularous_routeBooleanMarks the link as an in-app Inertia route

Example ​

js
const navItems = [
  { name: 'Dashboard', icon: 'mdi-view-dashboard', route: '/dashboard', is_modularous_route: true },
  {
    name: 'Settings',
    icon: 'mdi-cog',
    items: [
      { name: 'Profile',  icon: 'mdi-account', route: '/settings/profile' },
      { name: 'Security', icon: 'mdi-lock',    route: '/settings/security' },
    ],
  },
  { name: 'Notifications', icon: 'mdi-bell', route: '/notifications', badge: 5 },
]

TIP

ue-navigation-group is used internally by ue-sidebar. You typically do not instantiate it directly — pass items to ue-main or ue-sidebar instead.