Components / Sidebar

Sidebar

<Sidebar />New

The product's primary left app rail — a static team header, an optional scope switch, grouped navigation, and a footer account menu, collapsible to a 72px icon-and-label rail. A composable family built on our DropdownMenu and Avatar, tokenized end to end.

import { Sidebar, SidebarWorkspace, SidebarAccount, SidebarScope, SidebarContent, SidebarGroup, SidebarItem, SidebarFooter } from "@/components/upnext";

Explorer

Cross the nav item's state against the rail layout. Every fill, text, icon and badge color resolves from a semantic token — hover any swatch for hex + token.

State

Trailing

Rail

<SidebarItem
icon={<Home />}
label="Home"
active
/>

Parts & states

The full rail reproduced from the product reference, its collapsed form, a few ways to compose it, and each part in isolation. The Full and Collapsed rails are live — toggle the collapse control in the workspace header.

Home

Football workspace · Alabama

<Sidebar>
{/* Static team header — not clickable (omit the account menu). */}
<SidebarWorkspace name="Alabama" logo={<Avatar size="xs" color="crimson"><AvatarFallback>A</AvatarFallback></Avatar>} />
<SidebarScope options={sports} value={sport} onValueChange={setSport} />
<SidebarContent>
<SidebarGroup>
<SidebarItem icon={<Home />} label="Home" active />
<SidebarItem icon={<ArrowLeftRight />} label="Transfer activity" shortLabel="Transfer" />
</SidebarGroup>
<SidebarGroup label="Discover">
<SidebarItem icon={<UserSearch />} label="Athletes" />
<SidebarItem icon={<Users />} label="Teams" />
<SidebarItem icon={<Briefcase />} label="Agencies" beta />
<SidebarItem icon={<LineChart />} label="Insights" beta />
</SidebarGroup>
<SidebarGroup label="Scouting">
<SidebarItem icon={<Bookmark />} label="Lists" />
<SidebarItem icon={<Columns3 />} label="Recruit board" shortLabel="Board" />
</SidebarGroup>
</SidebarContent>
<SidebarFooter>
<SidebarItem icon={<Activity />} label="Internal team activity" shortLabel="Activity" />
<SidebarItem icon={<MessageSquare />} label="Messages" />
{/* Account menu — opens upward with Settings · Report · Log out. */}
<SidebarAccount name="Jordan Fisher" avatar={<Avatar size="xs" color="cobalt"><AvatarFallback>JF</AvatarFallback></Avatar>}>
<DropdownMenuItem><Settings /> Settings</DropdownMenuItem>
<DropdownMenuItem><Flag /> Report an issue</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem variant="destructive"><LogOut /> Log out</DropdownMenuItem>
</SidebarAccount>
</SidebarFooter>
</Sidebar>

Source

The wrapper is a thin re-export; the actual styling lives in the shadcn primitive.