{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "claude-sidebar",
  "description": "Claude-style sidebar built on shadcn/ui's <Sidebar> primitives. Smooth icon-rail collapse animation, playful icon micro-interactions on hover, starred & recent chat lists, user card with auto-tooltips when collapsed. Customizable via props (navItems, starred, recents, user).",
  "dependencies": [],
  "registryDependencies": [
    "sidebar"
  ],
  "files": [
    {
      "path": "registry/new-york/sidebars/claude-sidebar.tsx",
      "content": "\"use client\";\n\nimport { useState } from \"react\";\nimport {\n  Sidebar,\n  SidebarProvider,\n  SidebarHeader,\n  SidebarContent,\n  SidebarFooter,\n  SidebarMenu,\n  SidebarMenuItem,\n} from \"@/components/ui/sidebar\";\n\nconst EASE = \"cubic-bezier(0.165,0.85,0.45,1)\";\nconst DURATION = 300;\nconst EXPANDED = \"18rem\";\nconst COLLAPSED = \"3.3rem\";\n\nconst recents = [\n  \"Vinyl record collection organization\",\n  \"Sourdough starter troubleshooting\",\n  \"Plant care for low-light apartments\",\n  \"Travel itinerary for Kyoto in spring\",\n  \"Learning watercolor techniques\",\n  \"Building a custom mechanical keyboard\",\n];\n\nconst starred = [\"Designing a cozy reading nook\"];\n\ntype NavItem = {\n  label: string;\n  icon: React.ReactNode;\n  shortcut?: string;\n};\n\nexport default function ClaudeSidebar() {\n  const [active, setActive] = useState(\"New chat\");\n  const [collapsed, setCollapsed] = useState(false);\n\n  const navItems: NavItem[] = [\n    { label: \"New chat\", icon: <PlusIcon />, shortcut: \"Ctrl+⇧+O\" },\n    { label: \"Search\", icon: <SearchIcon />, shortcut: \"Ctrl+K\" },\n    { label: \"Chats\", icon: <ChatsIcon /> },\n    { label: \"Projects\", icon: <ProjectsIcon /> },\n    { label: \"Code\", icon: <CodeIcon /> },\n    { label: \"Customize\", icon: <CustomizeIcon /> },\n    { label: \"Design\", icon: <DesignIcon /> },\n  ];\n\n  return (\n    <div className=\"relative flex h-full min-h-[520px]\">\n      <SidebarProvider\n        defaultOpen\n        className=\"min-h-0! h-full w-fit\"\n        style={{ \"--sidebar-width\": EXPANDED } as React.CSSProperties}\n      >\n        <div\n          className=\"shrink-0 overflow-hidden\"\n          style={{\n            width: collapsed ? COLLAPSED : EXPANDED,\n            transition: `width ${DURATION}ms ${EASE}`,\n          }}\n        >\n          <Sidebar\n            collapsible=\"none\"\n            className=\"flex h-full min-h-[520px] w-full! flex-col bg-sidebar text-sidebar-foreground border-r border-sidebar-border\"\n            style={{ transition: `background-color 35ms ${EASE}` }}\n          >\n            <SidebarHeader className=\"relative flex-row! w-full items-center gap-0! p-2! pt-2 h-12 shrink-0\">\n              <div\n                className=\"flex items-center gap-1.5 pl-2 h-8 overflow-clip\"\n                style={{\n                  transition: `opacity 150ms ${EASE}`,\n                  opacity: collapsed ? 0 : 1,\n                  pointerEvents: collapsed ? \"none\" : \"auto\",\n                }}\n              >\n                <ClaudeWordmark />\n              </div>\n              <button\n                type=\"button\"\n                aria-label={collapsed ? \"Open sidebar\" : \"Close sidebar\"}\n                title={collapsed ? \"Open sidebar\" : \"Close sidebar\"}\n                onClick={() => setCollapsed((c) => !c)}\n                className=\"absolute right-2 top-2 z-10 grid size-8 cursor-pointer place-items-center rounded-md text-muted-foreground transition-colors duration-150 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\"\n              >\n                <PanelIcon />\n              </button>\n            </SidebarHeader>\n\n            <SidebarMenu className=\"gap-px! pt-2 px-2\">\n              {navItems.map((it) => (\n                <SidebarMenuItem key={it.label} className=\"list-none!\">\n                  <NavRow\n                    item={it}\n                    active={active === it.label}\n                    collapsed={collapsed}\n                    onClick={() => setActive(it.label)}\n                  />\n                </SidebarMenuItem>\n              ))}\n              <SidebarMenuItem className=\"list-none!\">\n                <button\n                  aria-label=\"More\"\n                  className=\"group flex h-9 w-full items-center rounded-lg px-4 text-sm text-muted-foreground transition-colors duration-75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground overflow-hidden\"\n                >\n                  <div className=\"flex w-full -translate-x-2 items-center gap-3\">\n                    <span className=\"grid size-5 shrink-0 place-items-center opacity-60\">\n                      <ChevronDownIcon />\n                    </span>\n                    <span\n                      className=\"flex-1 truncate text-left\"\n                      style={{\n                        transition: `opacity 150ms ${EASE}`,\n                        opacity: collapsed ? 0 : 1,\n                      }}\n                    >\n                      More\n                    </span>\n                  </div>\n                </button>\n              </SidebarMenuItem>\n            </SidebarMenu>\n\n            <SidebarContent\n              className=\"gap-0! pt-2 overflow-x-hidden!\"\n              style={{\n                transition: `opacity 150ms ${EASE}`,\n                opacity: collapsed ? 0 : 1,\n                pointerEvents: collapsed ? \"none\" : \"auto\",\n              }}\n              aria-hidden={collapsed}\n              inert={collapsed ? (\"\" as unknown as boolean) : undefined}\n            >\n              <div className=\"px-2 mt-2\">\n                <Section title=\"Starred\">\n                  {starred.map((t) => (\n                    <ChatRow key={t} title={t} />\n                  ))}\n                </Section>\n                <Section title=\"Recents\">\n                  {recents.map((t) => (\n                    <ChatRow key={t} title={t} />\n                  ))}\n                </Section>\n              </div>\n            </SidebarContent>\n\n            <SidebarFooter className=\"p-0! gap-0! border-t border-sidebar-border mt-auto\">\n              <button\n                className=\"group flex h-16 w-full items-center gap-3 px-2 transition-colors duration-150 hover:bg-sidebar-accent/50 overflow-hidden\"\n                aria-label=\"User menu\"\n              >\n                <div className=\"flex w-full items-center gap-3\">\n                  <div className=\"grid size-9 shrink-0 place-items-center rounded-full bg-sidebar-primary text-sm font-semibold text-sidebar-primary-foreground\">\n                    N\n                  </div>\n                  <div\n                    className=\"flex flex-1 flex-col items-start min-w-0\"\n                    style={{\n                      transition: `opacity 150ms ${EASE}`,\n                      opacity: collapsed ? 0 : 1,\n                    }}\n                  >\n                    <span className=\"truncate text-sm font-medium\">\n                      Nova Park\n                    </span>\n                    <span className=\"truncate text-[11px] text-muted-foreground\">\n                      Pro plan\n                    </span>\n                  </div>\n                  <span\n                    className=\"grid size-7 place-items-center rounded-md text-muted-foreground transition-colors duration-150 group-hover:bg-sidebar-accent group-hover:text-sidebar-accent-foreground\"\n                    style={{\n                      transition: `opacity 150ms ${EASE}`,\n                      opacity: collapsed ? 0 : 1,\n                    }}\n                  >\n                    <DownloadIcon />\n                  </span>\n                </div>\n              </button>\n            </SidebarFooter>\n          </Sidebar>\n        </div>\n      </SidebarProvider>\n    </div>\n  );\n}\n\nfunction NavRow({\n  item,\n  active,\n  collapsed,\n  onClick,\n}: {\n  item: NavItem;\n  active: boolean;\n  collapsed: boolean;\n  onClick: () => void;\n}) {\n  return (\n    <button\n      onClick={onClick}\n      aria-label={item.label}\n      title={collapsed ? item.label : undefined}\n      className={`group relative flex h-9 w-full items-center rounded-lg px-4 text-sm transition-colors duration-75 active:scale-[0.99] overflow-hidden ${\n        active\n          ? \"bg-sidebar-accent text-sidebar-accent-foreground\"\n          : \"text-sidebar-foreground/80 hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground\"\n      }`}\n    >\n      <div className=\"flex w-full -translate-x-2 items-center gap-3\">\n        <span className=\"grid size-5 shrink-0 place-items-center text-sidebar-foreground\">\n          {item.icon}\n        </span>\n        <span\n          className=\"flex-1 truncate text-left\"\n          style={{\n            transition: `opacity 150ms ${EASE}`,\n            opacity: collapsed ? 0 : 1,\n          }}\n        >\n          {item.label}\n        </span>\n        {item.shortcut && (\n          <span\n            className=\"text-[11px] text-muted-foreground opacity-0 transition-opacity duration-75 group-hover:opacity-100\"\n            style={{ display: collapsed ? \"none\" : undefined }}\n          >\n            {item.shortcut}\n          </span>\n        )}\n      </div>\n    </button>\n  );\n}\n\nfunction Section({\n  title,\n  children,\n}: {\n  title: string;\n  children: React.ReactNode;\n}) {\n  return (\n    <div className=\"mb-4\">\n      <h3 className=\"px-2 pb-1 text-[11px] font-medium tracking-wide text-muted-foreground select-none\">\n        {title}\n      </h3>\n      <ul className=\"flex flex-col gap-px\">{children}</ul>\n    </div>\n  );\n}\n\nfunction ChatRow({ title }: { title: string }) {\n  return (\n    <li>\n      <a\n        href=\"#\"\n        className=\"group relative flex h-8 items-center rounded-lg px-3 text-[13px] text-sidebar-foreground/80 transition-colors duration-75 hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground\"\n      >\n        <span className=\"flex-1 truncate group-hover:mask-[linear-gradient(to_right,black_78%,transparent_95%)]\">\n          {title}\n        </span>\n        <span className=\"absolute right-1 top-1/2 -translate-y-1/2 grid size-7 place-items-center rounded-md text-muted-foreground opacity-0 transition-opacity duration-150 group-hover:opacity-100 hover:bg-sidebar-accent\">\n          <DotsIcon />\n        </span>\n      </a>\n    </li>\n  );\n}\n\nfunction PlusIcon() {\n  return (\n    <span className=\"inline-flex size-5 items-center justify-center rounded-full bg-sidebar-foreground/10 transition-transform duration-200 ease-out group-hover:-rotate-3 group-hover:scale-110 group-active:rotate-6 group-active:scale-95\">\n      <svg width=\"12\" height=\"12\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n        <path d=\"M10 3a.75.75 0 0 1 .75.75v5.5h5.5a.75.75 0 0 1 0 1.5h-5.5v5.5a.75.75 0 0 1-1.5 0v-5.5h-5.5a.75.75 0 0 1 0-1.5h5.5v-5.5A.75.75 0 0 1 10 3\" />\n      </svg>\n    </span>\n  );\n}\n\nfunction SearchIcon() {\n  return (\n    <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n      <path d=\"M8.5 2a6.5 6.5 0 0 1 4.935 10.728l4.419 4.419a.5.5 0 0 1-.707.707l-4.42-4.419A6.5 6.5 0 1 1 8.5 2m0 1a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11\" />\n    </svg>\n  );\n}\n\nfunction ChatsIcon() {\n  return (\n    <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n      <path\n        className=\"transition-transform duration-200 ease-out group-hover:-translate-x-[0.5px]\"\n        d=\"M8.99962 2C12.3133 2 14.9996 4.68629 14.9996 8C14.9996 11.3137 12.3133 14 8.99962 14H2.49962C2.30105 13.9998 2.12113 13.8821 2.04161 13.7002C1.96224 13.5181 1.99835 13.3058 2.1334 13.1602L3.93516 11.2178C3.34317 10.2878 2.99962 9.18343 2.99962 8C2.99962 4.68643 5.68609 2.00022 8.99962 2ZM8.99962 3C6.23838 3.00022 3.99961 5.23871 3.99961 8C3.99961 9.11212 4.36265 10.1386 4.97618 10.9688C5.11884 11.1621 5.1035 11.4293 4.94004 11.6055L3.64512 13H8.99962C11.761 13 13.9996 10.7614 13.9996 8C13.9996 5.23858 11.761 3 8.99962 3Z\"\n      />\n      <path\n        className=\"transition-transform duration-200 ease-out group-hover:translate-x-[0.5px]\"\n        d=\"M16.5445 9.72754C16.4182 9.53266 16.1678 9.44648 15.943 9.53418C15.7183 9.62215 15.5932 9.85502 15.6324 10.084L15.7369 10.3955C15.9073 10.8986 16.0006 11.438 16.0006 12C16.0006 13.1123 15.6376 14.1386 15.024 14.9687C14.8811 15.1621 14.8956 15.4302 15.0592 15.6064L16.3531 17H11.0006C9.54519 17 8.23527 16.3782 7.32091 15.3848L7.07091 15.1103C6.88996 14.9645 6.62535 14.9606 6.43907 15.1143C6.25267 15.2682 6.20668 15.529 6.31603 15.7344L6.58458 16.0625C7.68048 17.253 9.25377 18 11.0006 18H17.5006C17.6991 17.9998 17.8791 17.8822 17.9586 17.7002C18.038 17.5181 18.0018 17.3058 17.8668 17.1602L16.0631 15.2178C16.6554 14.2876 17.0006 13.1837 17.0006 12C17.0006 11.3271 16.8891 10.6792 16.6842 10.0742L16.5445 9.72754Z\"\n      />\n    </svg>\n  );\n}\n\nfunction ProjectsIcon() {\n  return (\n    <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n      <path\n        className=\"origin-center transition-transform duration-200 ease-out group-hover:scale-95\"\n        d=\"M15.8198 7C16.6885 7.00025 17.3624 7.73158 17.3178 8.57617L17.2993 8.74707L16.1332 15.7471C16.0126 16.4699 15.3865 16.9996 14.6538 17H5.34711C4.6142 16.9998 3.98833 16.47 3.86762 15.7471L2.7016 8.74707C2.54922 7.83277 3.25418 7 4.18109 7H15.8198ZM4.18109 8C3.87216 8 3.63722 8.27731 3.68793 8.58203L4.85394 15.582C4.89413 15.8229 5.10291 15.9998 5.34711 16H14.6538C14.8978 15.9996 15.1068 15.8228 15.1469 15.582L16.3129 8.58203L16.3188 8.46973C16.3036 8.21259 16.0899 8.00023 15.8198 8H4.18109Z\"\n      />\n      <path\n        className=\"transition-transform duration-200 ease-out group-hover:-translate-y-[1.4px] group-hover:translate-x-[0.5px] group-hover:rotate-3\"\n        d=\"M16.0004 5.5C16.0004 5.224 15.7764 5.00024 15.5004 5H4.50043C4.22428 5 4.00043 5.22386 4.00043 5.5C4.00043 5.77614 4.22428 6 4.50043 6H15.5004C15.7764 5.99976 16.0004 5.776 16.0004 5.5Z\"\n      />\n      <path\n        className=\"transition-transform duration-200 ease-out group-hover:-translate-y-[2.8px] group-hover:translate-x-px group-hover:rotate-6\"\n        d=\"M14.5004 3.5C14.5004 3.224 14.2764 3.00024 14.0004 3H6.00043C5.72428 3 5.50043 3.22386 5.50043 3.5C5.50043 3.77614 5.72428 4 6.00043 4H14.0004C14.2764 3.99976 14.5004 3.776 14.5004 3.5Z\"\n      />\n    </svg>\n  );\n}\n\nfunction CodeIcon() {\n  return (\n    <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n      <path d=\"M11.6318 4.01757C11.898 4.09032 12.055 4.36555 11.9824 4.63183L8.98242 15.6318C8.90966 15.8981 8.63449 16.0551 8.36816 15.9824C8.10193 15.9097 7.94495 15.6345 8.01758 15.3682L11.0176 4.36816C11.0904 4.102 11.3656 3.94497 11.6318 4.01757Z\" />\n      <path\n        className=\"transition-transform duration-200 ease-out group-hover:translate-x-[1px]\"\n        d=\"M13.124 6.17089C13.3059 5.96325 13.6213 5.9423 13.8291 6.12402L17.8291 9.62402C17.9375 9.7295 18 9.86641 18 10.0001C18 10.1442 17.9375 10.281 17.8291 10.376L13.8291 13.876C13.5449 14.0498 13.2833 14.011 13.124 13.8291C12.9649 13.6472 12.9842 13.3927 13.1709 13.124L16.7412 10L13.1709 6.87597C12.9632 6.69411 12.9422 6.37866 13.124 6.17089Z\"\n      />\n      <path\n        className=\"transition-transform duration-200 ease-out group-hover:-translate-x-[1px]\"\n        d=\"M6.25293 6.06542C6.45509 5.95025 6.71675 5.98908 6.87598 6.17089C7.03513 6.35279 7.03933 6.6176 6.89844 6.80273L6.8291 6.87597L3.25879 10L6.8291 13.124C7.03682 13.3059 7.05771 13.6213 6.87598 13.8291C6.69413 14.0369 6.37869 14.0578 6.1709 13.876L2.1709 10.376C2.06247 10.281 2 10.1441 2 10C2.00005 9.85591 2.06247 9.71893 2.1709 9.62402L6.1709 6.12402L6.25293 6.06542Z\"\n      />\n    </svg>\n  );\n}\n\nfunction CustomizeIcon() {\n  return (\n    <span className=\"inline-flex transition-transform duration-200 ease-out group-hover:-rotate-3 group-hover:scale-110 group-active:rotate-6 group-active:scale-95\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n        <path d=\"M12.5 3A1.5 1.5 0 0 1 14 4.5V6h.5A3.5 3.5 0 0 1 18 9.5v6a1.5 1.5 0 0 1-1.5 1.5h-13a1.5 1.5 0 0 1-1.492-1.347L2 15.5v-6A3.5 3.5 0 0 1 5.5 6H6V4.5A1.5 1.5 0 0 1 7.5 3zM3 15.5l.01.1a.5.5 0 0 0 .49.4h13a.5.5 0 0 0 .5-.5V12h-4v.5a.5.5 0 0 1-1 0V12H8v.5a.5.5 0 0 1-1 0V12H3zM5.5 7A2.5 2.5 0 0 0 3 9.5V11h4v-.5a.5.5 0 0 1 1 0v.5h4v-.5a.5.5 0 0 1 1 0v.5h4V9.5A2.5 2.5 0 0 0 14.5 7zm2-3a.5.5 0 0 0-.5.5V6h6V4.5a.5.5 0 0 0-.5-.5z\" />\n      </svg>\n    </span>\n  );\n}\n\nfunction DesignIcon() {\n  return (\n    <span className=\"inline-flex transition-transform duration-200 ease-out group-hover:-rotate-3 group-hover:scale-110 group-active:rotate-6 group-active:scale-95\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n        <path d=\"M6 10a1 1 0 1 1 0 2 1 1 0 0 1 0-2m8-2a1 1 0 1 1 0 2 1 1 0 0 1 0-2M7 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2m4-1a1 1 0 1 1 0 2 1 1 0 0 1 0-2\" />\n        <path\n          fillRule=\"evenodd\"\n          d=\"M10 2.5a7.5 7.5 0 0 1 7.5 7.5c0 1.099-.321 1.874-.929 2.363-.581.469-1.335.599-2.028.63-.674.03-1.462-.034-2.026-.04-.375-.004-.9-.036-1.221.2-.213.157-.339.426-.402.865-.07.486-.05.98-.082 1.47-.031.477-.11 1.082-.507 1.493-.763.788-2.095.366-2.984.025A7.5 7.5 0 0 1 10 2.5m0 1a6.5 6.5 0 0 0-2.321 12.572c.448.172 1.51.624 1.907.214.117-.121.196-.374.227-.863.034-.516.016-1.035.09-1.548.078-.534.264-1.134.801-1.528.515-.378 1.211-.4 1.824-.394.69.008 1.316.07 1.97.041.633-.029 1.119-.146 1.445-.409.301-.242.557-.684.557-1.585A6.5 6.5 0 0 0 10 3.5\"\n          clipRule=\"evenodd\"\n        />\n      </svg>\n    </span>\n  );\n}\n\nfunction PanelIcon() {\n  return (\n    <svg width=\"18\" height=\"18\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n      <path d=\"M16.5 4A1.5 1.5 0 0 1 18 5.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 2 14.5v-9A1.5 1.5 0 0 1 3.5 4zM7 15h9.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H7zM3.5 5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5H6V5z\" />\n    </svg>\n  );\n}\n\nfunction ChevronDownIcon() {\n  return (\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 256 256\" fill=\"currentColor\">\n      <path d=\"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z\" />\n    </svg>\n  );\n}\n\nfunction DotsIcon() {\n  return (\n    <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n      <path d=\"M4.5 8.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3m5.5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3m5.5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3\" />\n    </svg>\n  );\n}\n\nfunction DownloadIcon() {\n  return (\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n      <path d=\"M10 3a.5.5 0 0 1 .5.5v8.79l2.65-2.64a.5.5 0 0 1 .7.7l-3.5 3.5a.5.5 0 0 1-.7 0l-3.5-3.5a.5.5 0 0 1 .7-.7l2.65 2.64V3.5A.5.5 0 0 1 10 3M4 15.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5\" />\n    </svg>\n  );\n}\n\nfunction ClaudeWordmark() {\n  return (\n    <svg\n      viewBox=\"0 0 68 16\"\n      className=\"h-4 text-sidebar-foreground\"\n      height=\"16\"\n      fill=\"currentColor\"\n      aria-label=\"Claude\"\n    >\n      <path d=\"M7.98 15.73C6.50667 15.73 5.17667 15.4367 3.99 14.85C2.81 14.2567 1.88 13.4167 1.2 12.33C0.526669 11.2367 0.190002 9.96334 0.190002 8.51001C0.190002 7.01001 0.526669 5.67334 1.2 4.50001C1.87334 3.32668 2.8 2.41668 3.98 1.77001C5.16667 1.11668 6.49334 0.790009 7.96 0.790009C8.88667 0.790009 9.81667 0.896676 10.75 1.11001C11.69 1.32334 12.5033 1.64001 13.19 2.06001V5.36001H12.29C12.05 4.22668 11.5867 3.36334 10.9 2.77001C10.2133 2.17668 9.24 1.88001 7.98 1.88001C6.85334 1.88001 5.91334 2.15334 5.16 2.70001C4.40667 3.24001 3.84667 3.98334 3.48 4.93001C3.12 5.87001 2.94 6.94668 2.94 8.16001C2.94 9.37334 3.14667 10.4733 3.56 11.46C3.97334 12.44 4.57667 13.2167 5.37 13.79C6.16334 14.3567 7.11 14.64 8.21 14.64C8.97667 14.64 9.63667 14.4733 10.19 14.14C10.75 13.8 11.2167 13.3533 11.59 12.8C11.97 12.2467 12.3367 11.5667 12.69 10.76H13.63L12.99 14.43C12.35 14.8567 11.5733 15.18 10.66 15.4C9.75334 15.62 8.86 15.73 7.98 15.73ZM15.15 14.63C15.4833 14.5833 15.7433 14.53 15.93 14.47C16.1167 14.41 16.2633 14.3167 16.37 14.19C16.4767 14.0567 16.53 13.8733 16.53 13.64V2.96001L15.15 2.31001V1.65001L18.12 0.26001H18.91V13.64C18.91 13.8733 18.9633 14.0567 19.07 14.19C19.1767 14.3167 19.3233 14.41 19.51 14.47C19.6967 14.53 19.96 14.5833 20.3 14.63V15.5H15.15V14.63ZM24.44 15.73C23.8867 15.73 23.39 15.6167 22.95 15.39C22.51 15.1567 22.1667 14.8367 21.92 14.43C21.68 14.0233 21.56 13.5567 21.56 13.03C21.56 12.2633 21.7967 11.6233 22.27 11.11C22.75 10.5967 23.47 10.2033 24.43 9.93001L27.87 8.96001V7.56001C27.87 6.85334 27.7033 6.31668 27.37 5.95001C27.0433 5.58334 26.5633 5.40001 25.93 5.40001C25.37 5.40001 24.93 5.57668 24.61 5.93001C24.2967 6.27668 24.14 6.75668 24.14 7.37001V8.35001H22.47C22.2833 8.23001 22.1367 8.06334 22.03 7.85001C21.93 7.63668 21.88 7.40334 21.88 7.15001C21.88 6.67668 22.06 6.24001 22.42 5.84001C22.78 5.43334 23.2633 5.11334 23.87 4.88001C24.4833 4.64668 25.16 4.53001 25.9 4.53001C26.8133 4.53001 27.5933 4.67334 28.24 4.96001C28.8933 5.24668 29.39 5.66668 29.73 6.22001C30.0767 6.77334 30.25 7.43668 30.25 8.21001V13.5C30.25 13.7333 30.29 13.9133 30.37 14.04C30.45 14.1667 30.5867 14.2667 30.78 14.34C30.98 14.4133 31.2633 14.4767 31.63 14.53V15.39C31.0967 15.5967 30.5633 15.7 30.03 15.7C29.4367 15.7 28.9567 15.56 28.59 15.28C28.23 15 28.0067 14.6 27.92 14.08C27.44 14.62 26.9067 15.03 26.32 15.31C25.7333 15.59 25.1067 15.73 24.44 15.73ZM25.62 14.13C26.0067 14.13 26.3967 14.0433 26.79 13.87C27.1833 13.69 27.5433 13.4433 27.87 13.13V9.87001L25.43 10.61C24.9233 10.7567 24.5433 10.99 24.29 11.31C24.0433 11.6233 23.92 12.0267 23.92 12.52C23.92 12.8267 23.9933 13.1033 24.14 13.35C24.2867 13.59 24.49 13.78 24.75 13.92C25.01 14.06 25.3 14.13 25.62 14.13ZM36.56 15.73C35.48 15.73 34.68 15.4467 34.16 14.88C33.6467 14.3133 33.39 13.53 33.39 12.53V6.91001L32.01 6.37001V5.70001L34.98 4.53001H35.77V12.12C35.77 12.7533 35.9233 13.2233 36.23 13.53C36.5433 13.8367 37.0133 13.99 37.64 13.99C38.0533 13.99 38.4833 13.8967 38.93 13.71C39.3833 13.5167 39.8 13.27 40.18 12.97V6.91001L38.8 6.37001V5.70001L41.77 4.53001H42.56V12.91C42.56 13.17 42.6133 13.37 42.72 13.51C42.8333 13.65 42.9833 13.7533 43.17 13.82C43.3567 13.88 43.6167 13.9333 43.95 13.98V14.84L40.97 15.69H40.18V13.96C39.6667 14.4933 39.0867 14.9233 38.44 15.25C37.8 15.57 37.1733 15.73 36.56 15.73ZM49.61 15.73C48.7367 15.73 47.9567 15.51 47.27 15.07C46.5833 14.6233 46.0467 14.02 45.66 13.26C45.28 12.5 45.09 11.66 45.09 10.74C45.09 9.56668 45.3167 8.51001 45.77 7.57001C46.2233 6.63001 46.8733 5.89001 47.72 5.35001C48.5733 4.80334 49.5767 4.53001 50.73 4.53001C51.0767 4.53001 51.43 4.56668 51.79 4.64001C52.15 4.70668 52.4967 4.81001 52.83 4.95001V2.96001L51.45 2.31001V1.65001L54.42 0.26001H55.21V12.91C55.21 13.17 55.2633 13.37 55.37 13.51C55.4833 13.65 55.6333 13.7533 55.82 13.82C56.0067 13.88 56.2667 13.9333 56.6 13.98V14.84L53.62 15.69H52.83V14.39C52.3833 14.8167 51.8867 15.1467 51.34 15.38C50.7933 15.6133 50.2167 15.73 49.61 15.73ZM50.6 14.12C50.9867 14.12 51.3733 14.0467 51.76 13.9C52.1467 13.7467 52.5033 13.5367 52.83 13.27V6.38001C52.2567 5.92001 51.6167 5.69001 50.91 5.69001C50.1767 5.69001 49.5567 5.89001 49.05 6.29001C48.55 6.68334 48.1767 7.21334 47.93 7.88001C47.69 8.54668 47.57 9.28334 47.57 10.09C47.57 10.8567 47.6767 11.5433 47.89 12.15C48.11 12.7567 48.4467 13.2367 48.9 13.59C49.3533 13.9433 49.92 14.12 50.6 14.12ZM62.93 15.73C61.9433 15.73 61.0533 15.4967 60.26 15.03C59.4733 14.5567 58.8567 13.9033 58.41 13.07C57.9633 12.2367 57.74 11.3 57.74 10.26C57.74 9.18001 57.9667 8.20334 58.42 7.33001C58.88 6.45668 59.51 5.77334 60.31 5.28001C61.1167 4.78001 62.0167 4.53001 63.01 4.53001C63.77 4.53001 64.4667 4.68668 65.1 5.00001C65.7333 5.31334 66.2567 5.76001 66.67 6.34001C67.09 6.92001 67.37 7.59001 67.51 8.35001L60.14 10.66C60.3333 11.62 60.7267 12.38 61.32 12.94C61.92 13.4933 62.67 13.77 63.57 13.77C64.31 13.77 64.9767 13.5733 65.57 13.18C66.17 12.78 66.7 12.18 67.16 11.38L67.93 11.63C67.7633 12.4433 67.44 13.16 66.96 13.78C66.4867 14.4 65.9 14.88 65.2 15.22C64.5067 15.56 63.75 15.73 62.93 15.73ZM64.95 8.03001C64.8567 7.55668 64.6933 7.14001 64.46 6.78001C64.2267 6.42001 63.94 6.14001 63.6 5.94001C63.2667 5.74001 62.9033 5.64001 62.51 5.64001C62.01 5.64001 61.57 5.79334 61.19 6.10001C60.8167 6.40001 60.5267 6.83001 60.32 7.39001C60.1133 7.95001 60.01 8.60001 60.01 9.34001C60.01 9.46668 60.0133 9.56334 60.02 9.63001L64.95 8.03001Z\" />\n    </svg>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/pixel-perfect/claude-sidebar.tsx"
    }
  ],
  "type": "registry:block"
}