{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "resizable",
  "type": "registry:ui",
  "title": "Resizable",
  "description": "A resizable component",
  "dependencies": [
    "solid-js",
    "@corvu/resizable"
  ],
  "files": [
    {
      "path": "src/registry/ui/resizable.tsx",
      "content": "import type { ValidComponent } from \"solid-js\"\nimport { Show, splitProps } from \"solid-js\"\n\nimport type { DynamicProps, HandleProps, RootProps } from \"@corvu/resizable\"\nimport ResizablePrimitive from \"@corvu/resizable\"\n\nimport { cn } from \"~/lib/utils\"\n\ntype ResizableProps<T extends ValidComponent = \"div\"> = RootProps<T> & { class?: string }\n\nconst Resizable = <T extends ValidComponent = \"div\">(props: DynamicProps<T, ResizableProps<T>>) => {\n  const [, rest] = splitProps(props as ResizableProps, [\"class\"])\n  return (\n    <ResizablePrimitive\n      class={cn(\"flex size-full data-[orientation=vertical]:flex-col\", props.class)}\n      {...rest}\n    />\n  )\n}\n\nconst ResizablePanel = ResizablePrimitive.Panel\n\ntype ResizableHandleProps<T extends ValidComponent = \"button\"> = HandleProps<T> & {\n  class?: string\n  withHandle?: boolean\n}\n\nconst ResizableHandle = <T extends ValidComponent = \"button\">(\n  props: DynamicProps<T, ResizableHandleProps<T>>\n) => {\n  const [, rest] = splitProps(props as ResizableHandleProps, [\"class\", \"withHandle\"])\n  return (\n    <ResizablePrimitive.Handle\n      class={cn(\n        \"relative flex w-px shrink-0 items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full data-[orientation=vertical]:after:left-0 data-[orientation=vertical]:after:h-1 data-[orientation=vertical]:after:w-full data-[orientation=vertical]:after:-translate-y-1/2 data-[orientation=vertical]:after:translate-x-0 [&[data-orientation=vertical]>div]:rotate-90\",\n        props.class\n      )}\n      {...rest}\n    >\n      <Show when={props.withHandle}>\n        <div class=\"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border\">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            viewBox=\"0 0 24 24\"\n            fill=\"none\"\n            stroke=\"currentColor\"\n            stroke-width=\"2\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n            class=\"size-2.5\"\n          >\n            <path d=\"M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n            <path d=\"M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n            <path d=\"M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n            <path d=\"M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n            <path d=\"M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n            <path d=\"M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n          </svg>\n        </div>\n      </Show>\n    </ResizablePrimitive.Handle>\n  )\n}\n\nexport { Resizable, ResizablePanel, ResizableHandle }\n",
      "type": "registry:ui"
    }
  ]
}