{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "detailed-usage-table", "title": "Detailed Usage Table", "description": "A detailed usage table component with resource consumption breakdown", "registryDependencies": [ "table", "card", "badge", "utils" ], "files": [ { "path": "src/registry/billingsdk/detailed-usage-table.tsx", "content": "\"use client\";\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/components/ui/card\";\nimport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface UsageResource {\n name: string;\n used: number;\n limit: number;\n percentage?: number;\n unit?: string;\n}\n\nexport interface DetailedUsageTableProps {\n className?: string;\n title?: string;\n description?: string;\n resources: UsageResource[];\n}\n\nexport function DetailedUsageTable({\n className,\n title = \"Detailed Usage\",\n description,\n resources,\n}: DetailedUsageTableProps) {\n const formatNumber = (num: number) => {\n return new Intl.NumberFormat().format(num);\n };\n\n const getPercentageBar = (percentage: number) => {\n let bgColor = \"bg-emerald-500\";\n if (percentage >= 90) bgColor = \"bg-destructive\";\n else if (percentage >= 75) bgColor = \"bg-orange-500\";\n\n return (\n