Home / Function/ Sidebar() — ui Function Reference

Sidebar() — ui Function Reference

Architecture documentation for the Sidebar() function in sidebar.tsx from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  8581e381_1f50_e5eb_9874_43940563dab5["Sidebar()"]
  9d6532a9_426f_ea68_5d06_31eaecadb210["sidebar.tsx"]
  8581e381_1f50_e5eb_9874_43940563dab5 -->|defined in| 9d6532a9_426f_ea68_5d06_31eaecadb210
  e19c26ba_7be6_310b_4cb1_582cc8f6810c["useSidebar()"]
  8581e381_1f50_e5eb_9874_43940563dab5 -->|calls| e19c26ba_7be6_310b_4cb1_582cc8f6810c
  style 8581e381_1f50_e5eb_9874_43940563dab5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

deprecated/www/registry/new-york/ui/sidebar.tsx lines 173–268

  (
    {
      side = "left",
      variant = "sidebar",
      collapsible = "offcanvas",
      className,
      children,
      ...props
    },
    ref
  ) => {
    const { isMobile, state, openMobile, setOpenMobile } = useSidebar()

    if (collapsible === "none") {
      return (
        <div
          className={cn(
            "flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",
            className
          )}
          ref={ref}
          {...props}
        >
          {children}
        </div>
      )
    }

    if (isMobile) {
      return (
        <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>
          <SheetContent
            data-sidebar="sidebar"
            data-mobile="true"
            className="w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>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
        ref={ref}
        className="group peer hidden text-sidebar-foreground md:block"
        data-state={state}
        data-collapsible={state === "collapsed" ? collapsible : ""}
        data-variant={variant}
        data-side={side}
      >
        {/* This is what handles the sidebar gap on desktop */}
        <div
          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)_+_theme(spacing.4))]"
              : "group-data-[collapsible=icon]:w-[--sidebar-width-icon]"
          )}
        />
        <div
          className={cn(
            "fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",
            side === "left"
              ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]"
              : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
            // Adjust the padding for floating and inset variants.
            variant === "floating" || variant === "inset"
              ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]"

Subdomains

Calls

Frequently Asked Questions

What does Sidebar() do?
Sidebar() is a function in the ui codebase, defined in deprecated/www/registry/new-york/ui/sidebar.tsx.
Where is Sidebar() defined?
Sidebar() is defined in deprecated/www/registry/new-york/ui/sidebar.tsx at line 173.
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