Skip to main content
A vertical navigation menu for settings and configuration pages. Built as composable components that can be combined to create grouped menu structures with icons, separators, and active states.

Component Location

Components

SettingsMenu

Root container that provides consistent spacing between groups.

SettingsMenuGroup

Groups related menu items together. The title prop is optional.

SettingsMenuItem

A RouterLink-based menu item with support for icons. Icon priority: iconUrl takes precedence over icon. If neither is provided, no icon is rendered.

SettingsMenuSeparator

A horizontal line to visually separate groups.

Usage

Import all components from the settings-menu index:

Dynamic Menu from Data

When rendering menus from an array of items:

Styling

The component uses shadcn-vue design tokens for consistent theming:
  • Active state: bg-neutral-200 text-foreground font-medium
  • Inactive state: text-muted-foreground hover:bg-neutral-200 hover:text-foreground
  • Group title: font-semibold text-sm text-foreground
  • Separator: h-px bg-border
  • Icon size: w-5 h-5