{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"ui-resizable","type":"registry:component","title":"Resizable","description":"Resizable panel layout primitives with drag handles.","version":"1.0.0","status":"ga","files":[{"path":"src/components/ui/resizable.tsx","type":"registry:component","content":"'use client'\n\nimport * as React from 'react'\n\nimport { GripVerticalIcon } from 'lucide-react'\nimport * as ResizablePrimitive from 'react-resizable-panels'\n\nimport { cn } from '@/lib/utils'\n\nfunction ResizablePanelGroup({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\n  return (\n    <ResizablePrimitive.PanelGroup\n      data-slot='resizable-panel-group'\n      className={cn('flex h-full w-full data-[panel-group-direction=vertical]:flex-col', className)}\n      {...props}\n    />\n  )\n}\n\nfunction ResizablePanel({ ...props }: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\n  return <ResizablePrimitive.Panel data-slot='resizable-panel' {...props} />\n}\n\nfunction ResizableHandle({\n  withHandle,\n  className,\n  ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n  withHandle?: boolean\n}) {\n  return (\n    <ResizablePrimitive.PanelResizeHandle\n      data-slot='resizable-handle'\n      className={cn(\n        'bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90',\n        className\n      )}\n      {...props}\n    >\n      {withHandle && (\n        <div className='bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border'>\n          <GripVerticalIcon className='size-2.5' />\n        </div>\n      )}\n    </ResizablePrimitive.PanelResizeHandle>\n  )\n}\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle }\n"}]}