Sidebar() — ui Function Reference
Architecture documentation for the Sidebar() function in sidebar.tsx from the ui codebase.
Entity Profile
Dependency Diagram
graph TD 19718d2f_02e2_1cf3_3c58_c008e9334d6d["Sidebar()"] c3d1b2a8_7455_5144_ec35_453b78980e06["sidebar.tsx"] 19718d2f_02e2_1cf3_3c58_c008e9334d6d -->|defined in| c3d1b2a8_7455_5144_ec35_453b78980e06 51e5796c_e5a5_e248_0af5_922f70c3662a["useSidebar()"] 19718d2f_02e2_1cf3_3c58_c008e9334d6d -->|calls| 51e5796c_e5a5_e248_0af5_922f70c3662a style 19718d2f_02e2_1cf3_3c58_c008e9334d6d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/v4/examples/radix/ui/sidebar.tsx lines 150–250
function Sidebar({
side = "left",
variant = "sidebar",
collapsible = "offcanvas",
className,
children,
dir,
...props
}: React.ComponentProps<"div"> & {
side?: "left" | "right"
variant?: "sidebar" | "floating" | "inset"
collapsible?: "offcanvas" | "icon" | "none"
}) {
const { isMobile, state, openMobile, setOpenMobile } = useSidebar()
if (collapsible === "none") {
return (
<div
data-slot="sidebar"
className={cn(
"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",
className
)}
{...props}
>
{children}
</div>
)
}
if (isMobile) {
return (
<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>
<SheetContent
dir={dir}
data-sidebar="sidebar"
data-slot="sidebar"
data-mobile="true"
className="bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden"
style={
{
"--sidebar-width": SIDEBAR_WIDTH_MOBILE,
} as React.CSSProperties
}
side={side}
>
<SheetHeader className="sr-only">
<SheetTitle>Sidebar</SheetTitle>
<SheetDescription>Displays the mobile sidebar.</SheetDescription>
</SheetHeader>
<div className="flex h-full w-full flex-col">{children}</div>
</SheetContent>
</Sheet>
)
}
return (
<div
className="group peer text-sidebar-foreground hidden md:block"
data-state={state}
data-collapsible={state === "collapsed" ? collapsible : ""}
data-variant={variant}
data-side={side}
data-slot="sidebar"
>
{/* This is what handles the sidebar gap on desktop */}
<div
data-slot="sidebar-gap"
className={cn(
"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
"group-data-[collapsible=offcanvas]:w-0",
"group-data-[side=right]:rotate-180",
variant === "floating" || variant === "inset"
? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"
: "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
)}
/>
<div
data-slot="sidebar-container"
data-side={side}
className={cn(
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does Sidebar() do?
Sidebar() is a function in the ui codebase, defined in apps/v4/examples/radix/ui/sidebar.tsx.
Where is Sidebar() defined?
Sidebar() is defined in apps/v4/examples/radix/ui/sidebar.tsx at line 150.
What does Sidebar() call?
Sidebar() calls 1 function(s): useSidebar.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free