Home / File/ sidebar.tsx — ui Source File

sidebar.tsx — ui Source File

Architecture documentation for sidebar.tsx, a tsx file in the ui codebase. 12 imports, 0 dependents.

File tsx ComponentRegistry ChartRegistry 12 imports 25 functions

Entity Profile

Dependency Diagram

graph LR
  c6a487be_ed5c_9993_6886_f0ead3f0c895["sidebar.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  25383e8d_ca91_a50e_c3a8_5f228d02e1df["class-variance-authority"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> 25383e8d_ca91_a50e_c3a8_5f228d02e1df
  9c463da6_747b_38dc_586b_cbb4873070b1["radix-ui"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> 9c463da6_747b_38dc_586b_cbb4873070b1
  ce387041_e80b_2518_9137_648c7ea819ad["use-mobile"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> ce387041_e80b_2518_9137_648c7ea819ad
  ef4051f4_aeb7_8d0c_a726_0ba96ad80cf6["utils"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> ef4051f4_aeb7_8d0c_a726_0ba96ad80cf6
  381135fe_5f7a_910a_b8a2_691e9756a016["button"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> 381135fe_5f7a_910a_b8a2_691e9756a016
  dc919c5d_820f_f2af_7ccd_a07763a51161["input"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> dc919c5d_820f_f2af_7ccd_a07763a51161
  ce9c943c_1595_a786_2c59_160dbbb2ba0f["separator"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> ce9c943c_1595_a786_2c59_160dbbb2ba0f
  b73decf8_f4b9_c52a_1a17_5592e0895a98["sheet"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> b73decf8_f4b9_c52a_1a17_5592e0895a98
  0de504b7_008d_6a93_3ca7_77309318a444["skeleton"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> 0de504b7_008d_6a93_3ca7_77309318a444
  31f31e6f_51a3_ca92_602a_455f87efcb02["tooltip"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> 31f31e6f_51a3_ca92_602a_455f87efcb02
  de6fac54_74ca_6c25_8f8b_d1ba3287dbf2["icon-placeholder"]
  c6a487be_ed5c_9993_6886_f0ead3f0c895 --> de6fac54_74ca_6c25_8f8b_d1ba3287dbf2
  style c6a487be_ed5c_9993_6886_f0ead3f0c895 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import * as React from "react"
import { cva, type VariantProps } from "class-variance-authority"
import { Slot } from "radix-ui"

import { useIsMobile } from "@/registry/bases/radix/hooks/use-mobile"
import { cn } from "@/registry/bases/radix/lib/utils"
import { Button } from "@/registry/bases/radix/ui/button"
import { Input } from "@/registry/bases/radix/ui/input"
import { Separator } from "@/registry/bases/radix/ui/separator"
import {
  Sheet,
  SheetContent,
  SheetDescription,
  SheetHeader,
  SheetTitle,
} from "@/registry/bases/radix/ui/sheet"
import { Skeleton } from "@/registry/bases/radix/ui/skeleton"
import {
  Tooltip,
  TooltipContent,
  TooltipTrigger,
} from "@/registry/bases/radix/ui/tooltip"
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"

const SIDEBAR_COOKIE_NAME = "sidebar_state"
const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7
const SIDEBAR_WIDTH = "16rem"
const SIDEBAR_WIDTH_MOBILE = "18rem"
const SIDEBAR_WIDTH_ICON = "3rem"
const SIDEBAR_KEYBOARD_SHORTCUT = "b"

type SidebarContextProps = {
  state: "expanded" | "collapsed"
  open: boolean
  setOpen: (open: boolean) => void
  openMobile: boolean
  setOpenMobile: (open: boolean) => void
  isMobile: boolean
  toggleSidebar: () => void
}

const SidebarContext = React.createContext<SidebarContextProps | null>(null)

function useSidebar() {
  const context = React.useContext(SidebarContext)
  if (!context) {
    throw new Error("useSidebar must be used within a SidebarProvider.")
  }

  return context
}

function SidebarProvider({
  defaultOpen = true,
  open: openProp,
  onOpenChange: setOpenProp,
  className,
  style,
// ... (649 more lines)

Subdomains

Dependencies

  • button
  • class-variance-authority
  • icon-placeholder
  • input
  • radix-ui
  • react
  • separator
  • sheet
  • skeleton
  • tooltip
  • use-mobile
  • utils

Frequently Asked Questions

What does sidebar.tsx do?
sidebar.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, ChartRegistry subdomain.
What functions are defined in sidebar.tsx?
sidebar.tsx defines 25 function(s): Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, and 15 more.
What does sidebar.tsx depend on?
sidebar.tsx imports 12 module(s): button, class-variance-authority, icon-placeholder, input, radix-ui, react, separator, sheet, and 4 more.
Where is sidebar.tsx in the architecture?
sidebar.tsx is located at apps/v4/registry/bases/radix/ui/sidebar.tsx (domain: ComponentRegistry, subdomain: ChartRegistry, directory: apps/v4/registry/bases/radix/ui).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free