{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "report-page",
  "type": "registry:block",
  "title": "Report page",
  "description": "Validated date range, meaningful metrics, evidence grid and methodology.",
  "registryDependencies": [
    "https://shine-blond.vercel.app/r/date-range.json",
    "https://shine-blond.vercel.app/r/data-grid.json"
  ],
  "files": [
    {
      "path": "blocks/report-page.tsx",
      "type": "registry:component",
      "target": "components/shine/report-page.tsx",
      "content": "\"use client\";\nimport type { ReactNode } from \"react\";\nimport type { RowData } from \"@tanstack/react-table\";\nimport { DateRange, type DateRangeValue } from \"@/components/shine/date-range\";\nimport { DataGrid, type DataGridProps } from \"@/components/shine/data-grid\";\nexport function ReportPage<T extends RowData>({ title, description, period, onPeriodChange, onApplyPeriod, metrics, evidence, explanation, visualization }: {\n title: string; description: string; period: DateRangeValue; onPeriodChange: (period: DateRangeValue) => void; onApplyPeriod: (period: DateRangeValue) => Promise<void>;\n metrics: { label: string; value: string; detail: string }[]; evidence: DataGridProps<T>; explanation: string; visualization?: ReactNode;\n}) {\n return <main data-product-pattern=\"report-page\" data-cite=\"shadcn-queue\" className=\"mx-auto max-w-7xl space-y-6 p-4 sm:p-6\"><header className=\"space-y-2\"><h1 className=\"text-2xl font-semibold tracking-tight\">{title}</h1><p className=\"text-muted-foreground\">{description}</p></header><DateRange value={period} onChange={onPeriodChange} onApply={onApplyPeriod} /><section aria-label=\"Report summary\" className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\">{metrics.map(metric => <article key={metric.label} className=\"space-y-2 rounded-lg border border-border p-5\"><h2 className=\"text-sm font-medium text-muted-foreground\">{metric.label}</h2><p className=\"text-2xl font-semibold tabular-nums\">{metric.value}</p><p className=\"text-sm text-muted-foreground\">{metric.detail}</p></article>)}</section>{visualization}<section aria-label=\"Evidence\"><DataGrid {...evidence} /></section><section className=\"rounded-lg border border-border p-5\"><h2 className=\"mb-2 text-lg font-semibold\">How to read this report</h2><p>{explanation}</p></section></main>;\n}\n"
    }
  ]
}
