{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "table",
  "type": "registry:ui",
  "title": "Table",
  "description": "A table component",
  "dependencies": [
    "solid-js",
    "@kobalte/core"
  ],
  "files": [
    {
      "path": "src/registry/ui/table.tsx",
      "content": "import type { Component, ComponentProps } from \"solid-js\"\nimport { splitProps } from \"solid-js\"\n\nimport { cn } from \"~/lib/utils\"\n\nconst Table: Component<ComponentProps<\"table\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <div class=\"relative w-full overflow-auto\">\n      <table class={cn(\"w-full caption-bottom text-sm\", local.class)} {...others} />\n    </div>\n  )\n}\n\nconst TableHeader: Component<ComponentProps<\"thead\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return <thead class={cn(\"[&_tr]:border-b\", local.class)} {...others} />\n}\n\nconst TableBody: Component<ComponentProps<\"tbody\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return <tbody class={cn(\"[&_tr:last-child]:border-0\", local.class)} {...others} />\n}\n\nconst TableFooter: Component<ComponentProps<\"tfoot\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <tfoot class={cn(\"bg-primary font-medium text-primary-foreground\", local.class)} {...others} />\n  )\n}\n\nconst TableRow: Component<ComponentProps<\"tr\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <tr\n      class={cn(\n        \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\nconst TableHead: Component<ComponentProps<\"th\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <th\n      class={cn(\n        \"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0\",\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\nconst TableCell: Component<ComponentProps<\"td\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <td class={cn(\"p-2 align-middle [&:has([role=checkbox])]:pr-0\", local.class)} {...others} />\n  )\n}\n\nconst TableCaption: Component<ComponentProps<\"caption\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return <caption class={cn(\"mt-4 text-sm text-muted-foreground\", local.class)} {...others} />\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption }\n",
      "type": "registry:ui"
    }
  ]
}