Sidebar() — ui Function Reference
Architecture documentation for the Sidebar() function in sidebar.tsx from the ui codebase.
Entity Profile
Dependency Diagram
graph TD b3ca842b_65ad_1541_1e3a_7a1624e330e4["Sidebar()"] c6a487be_ed5c_9993_6886_f0ead3f0c895["sidebar.tsx"] b3ca842b_65ad_1541_1e3a_7a1624e330e4 -->|defined in| c6a487be_ed5c_9993_6886_f0ead3f0c895 52d21307_ed91_78c1_4615_7ac238598d75["useSidebar()"] b3ca842b_65ad_1541_1e3a_7a1624e330e4 -->|calls| 52d21307_ed91_78c1_4615_7ac238598d75 style b3ca842b_65ad_1541_1e3a_7a1624e330e4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/v4/registry/bases/radix/ui/sidebar.tsx lines 151–251
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(
"cn-sidebar-gap relative w-(--sidebar-width) bg-transparent",
"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/registry/bases/radix/ui/sidebar.tsx.
Where is Sidebar() defined?
Sidebar() is defined in apps/v4/registry/bases/radix/ui/sidebar.tsx at line 151.
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