{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sidebar-provider",
  "type": "registry:component",
  "title": "Sidebar Provider",
  "description": "Context provider for managing sidebar open/close state.",
  "dependencies": [
    "@vllnt/ui@^0.2.1"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/default/sidebar-provider/sidebar-provider.tsx",
      "content": "\"use client\";\n\nimport {\n  createContext,\n  type ReactNode,\n  useContext,\n  useMemo,\n  useState,\n} from \"react\";\n\ntype SidebarContextType = {\n  open: boolean;\n  setOpen: (open: boolean) => void;\n};\n\nconst SidebarContext = createContext<SidebarContextType | undefined>(undefined);\n\nexport function useSidebar() {\n  const context = useContext(SidebarContext);\n  if (!context) {\n    throw new Error(\"useSidebar must be used within SidebarProvider\");\n  }\n  return context;\n}\n\nexport function SidebarProvider({ children }: { children: ReactNode }) {\n  const [open, setOpen] = useState(false);\n\n  const value = useMemo(() => ({ open, setOpen }), [open]);\n\n  return (\n    <SidebarContext.Provider value={value}>{children}</SidebarContext.Provider>\n  );\n}\n",
      "type": "registry:component"
    }
  ],
  "version": "0.2.1",
  "stability": "stable"
}
