{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "table",
  "type": "registry:ui",
  "files": [
    {
      "path": "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-x-auto\" data-slot=\"table-container\">\n      <table\n        class={cn(\"w-full caption-bottom text-sm\", local.class)}\n        data-slot=\"table\"\n        {...others}\n      />\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)} data-slot=\"table-header\" {...others} />\n}\n\nconst TableBody: Component<ComponentProps<\"tbody\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <tbody\n      class={cn(\"[&_tr:last-child]:border-0\", local.class)}\n      data-slot=\"table-body\"\n      {...others}\n    />\n  )\n}\n\nconst TableFooter: Component<ComponentProps<\"tfoot\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <tfoot\n      class={cn(\"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\", local.class)}\n      data-slot=\"table-footer\"\n      {...others}\n    />\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      data-slot=\"table-row\"\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 whitespace-nowrap px-2 text-left align-middle font-medium text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n        local.class\n      )}\n      data-slot=\"table-head\"\n      {...others}\n    />\n  )\n}\n\nconst TableCell: Component<ComponentProps<\"td\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <td\n      class={cn(\n        \"whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n        local.class\n      )}\n      data-slot=\"table-cell\"\n      {...others}\n    />\n  )\n}\n\nconst TableCaption: Component<ComponentProps<\"caption\">> = (props) => {\n  const [local, others] = splitProps(props, [\"class\"])\n  return (\n    <caption\n      class={cn(\"mt-4 text-muted-foreground text-sm\", local.class)}\n      data-slot=\"table-caption\"\n      {...others}\n    />\n  )\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption }\n",
      "type": "registry:ui"
    }
  ]
}