{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "data-table", "title": "Data Table", "description": "Polaris-styled Data Table component.", "dependencies": [], "devDependencies": [ "@shopify/polaris-types" ], "registryDependencies": [ "@polaris-shadcn/theme", "@polaris-shadcn/utils", "@polaris-shadcn/table" ], "files": [ { "path": "registry/templates/components/ui/data-table.tsx", "content": "import * as React from \"react\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./table\";\nimport { cn } from \"../../lib/utils\";\n\nexport interface DataTableColumn {\n key: string;\n label?: React.ReactNode;\n}\n\nexport interface DataTableRow {\n id: string | number;\n [key: string]: React.ReactNode;\n}\n\nexport interface DataTableProps extends React.ComponentPropsWithoutRef<\"div\"> {\n columns?: DataTableColumn[];\n data?: DataTableRow[];\n}\n\nconst DataTable = React.forwardRef(\n ({ className, columns = [], data = [], ...props }, ref) => (\n \n \n \n \n {columns.map((column) => (\n {column.label}\n ))}\n \n \n \n {data.map((row) => (\n \n {columns.map((column) => (\n \n {row[column.key]}\n \n ))}\n \n ))}\n \n
\n \n ),\n);\nDataTable.displayName = \"DataTable\";\n\nexport { DataTable };\n", "type": "registry:ui" } ], "type": "registry:ui" }