Navigation Components
Components for application navigation, menus, and wayfinding.
Status: Stable
SideNav
Vertical sidebar navigation with nested items and section groups.
import { SideNav } from '@gtcx/ui';
<SideNav
items={[
{ key: 'dashboard', label: 'Dashboard', icon: <LayoutGrid />, path: '/' },
{ key: 'users', label: 'Users', icon: <Users />, path: '/users',
children: [
{ key: 'list', label: 'User List', path: '/users/list' },
{ key: 'roles', label: 'Roles', path: '/users/roles' },
],
},
]}
activeKey="dashboard"
/>Toolbar
Horizontal action bar typically placed below the header.
import { Toolbar } from '@gtcx/ui';
<Toolbar
title="Users"
breadcrumbs={[{ label: 'Home', path: '/' }, { label: 'Users' }]}
actions={<Button variant="primary">Add User</Button>}
/>Breadcrumbs
Hierarchical navigation trail.
import { Breadcrumbs } from '@gtcx/ui';
<Breadcrumbs
items={[
{ label: 'Home', path: '/' },
{ label: 'Settings', path: '/settings' },
{ label: 'Security' },
]}
/>Tabs
Tabbed content organization.
import { Tabs } from '@gtcx/ui';
<Tabs defaultValue="general">
<Tabs.List>
<Tabs.Trigger value="general">General</Tabs.Trigger>
<Tabs.Trigger value="security">Security</Tabs.Trigger>
<Tabs.Trigger value="billing">Billing</Tabs.Trigger>
</Tabs.List>
<Tabs.Content value="general">General settings...</Tabs.Content>
<Tabs.Content value="security">Security settings...</Tabs.Content>
<Tabs.Content value="billing">Billing settings...</Tabs.Content>
</Tabs>MegaMenu
Multi-column dropdown for complex navigation hierarchies.
import { MegaMenu } from '@gtcx/ui';
<MegaMenu
items={[
{
label: 'Products',
columns: [
{ heading: 'Categories', items: [...] },
{ heading: 'Featured', items: [...] },
],
},
]}
/>DropdownMenu
Context-triggered dropdown with items, separators, and sub-menus.
import { DropdownMenu } from '@gtcx/ui';
<DropdownMenu>
<DropdownMenu.Trigger><Button>Actions</Button></DropdownMenu.Trigger>
<DropdownMenu.Content>
<DropdownMenu.Item>Edit</DropdownMenu.Item>
<DropdownMenu.Item>Duplicate</DropdownMenu.Item>
<DropdownMenu.Separator />
<DropdownMenu.Item destructive>Delete</DropdownMenu.Item>
</DropdownMenu.Content>
</DropdownMenu>Command
Command palette for keyboard-driven navigation.
import { Command } from '@gtcx/ui';
<Command>
<Command.Input placeholder="Type a command..." />
<Command.List>
<Command.Group heading="Navigation">
<Command.Item>Go to Dashboard</Command.Item>
<Command.Item>Go to Settings</Command.Item>
</Command.Group>
</Command.List>
</Command>ContextMenu
Right-click context menu.
import { ContextMenu } from '@gtcx/ui';
<ContextMenu>
<ContextMenu.Trigger>
<div>Right-click me</div>
</ContextMenu.Trigger>
<ContextMenu.Content>
<ContextMenu.Item>Copy</ContextMenu.Item>
<ContextMenu.Item>Paste</ContextMenu.Item>
</ContextMenu.Content>
</ContextMenu>Menubar
Horizontal menu bar for application-level navigation.
import { Menubar } from '@gtcx/ui';
<Menubar>
<Menubar.Menu>
<Menubar.Trigger>File</Menubar.Trigger>
<Menubar.Content>
<Menubar.Item>New</Menubar.Item>
<Menubar.Item>Open</Menubar.Item>
<Menubar.Item>Save</Menubar.Item>
</Menubar.Content>
</Menubar.Menu>
</Menubar>NavigationMenu
Horizontal navigation with dropdown sub-menus and active indicators.
import { NavigationMenu } from '@gtcx/ui';
<NavigationMenu
items={[
{ label: 'Home', path: '/' },
{ label: 'Products', path: '/products', children: [...] },
{ label: 'About', path: '/about' },
]}
/>Accessibility Notes
- Ensure menus are keyboard navigable with visible focus.
- Provide
aria-expandedand labels for submenus. - Avoid navigation that relies on hover only.
Tokens to Customize
colorPrimarycolorTextcontrolHeight