{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "stats66",
  "title": "Outcome Metric Rows",
  "description": "A results section that stacks each metric on its own hairline row, pairing an oversized figure with a short label, a sentence of context, and an optional year-over-year delta.",
  "dependencies": [
    "clsx",
    "tailwind-merge",
    "lucide-react"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/stats66/stats66.tsx",
      "content": "\"use client\";\n\nimport { TrendingUp } from \"lucide-react\";\nimport { Badge23 } from \"@/components/beste/component/badge23\";\nimport { cn } from \"@/lib/utils\";\n\ninterface Badge {\n  label: string;\n}\n\ninterface Metric {\n  value: string;\n  label: string;\n  description: string;\n  delta?: string;\n}\n\ninterface Stats66Props {\n  badge?: Badge;\n  heading?: string;\n  description?: string;\n  items?: Metric[];\n  footnote?: string;\n  className?: string;\n}\n\nexport const stats66Demo: Stats66Props = {\n  badge: { label: \"Outcomes\" },\n  heading: \"What changes in the first quarter\",\n  description:\n    \"Measured across the practices that finished onboarding in 2025, compared against their own numbers from the quarter before.\",\n  items: [\n    {\n      value: \"31%\",\n      label: \"Fewer no-shows\",\n      description:\n        \"Reminders go out on the member's own channel, and a cancelled slot reopens to the waitlist before anyone at the desk notices it.\",\n      delta: \"up from 24% last year\",\n    },\n    {\n      value: \"6.5h\",\n      label: \"Given back to each clinician, weekly\",\n      description:\n        \"Notes, plans, and coverage checks live on the same record, so the evening admin block quietly disappears.\",\n      delta: \"up from 4h last year\",\n    },\n    {\n      value: \"4 days\",\n      label: \"Faster to get paid\",\n      description:\n        \"Claims leave the same day the appointment closes and reconcile themselves against incoming payments.\",\n    },\n    {\n      value: \"96%\",\n      label: \"Of practices still here after a year\",\n      description:\n        \"Teams stay because the workflow bends to how they already work, not the other way around.\",\n      delta: \"up from 92% last year\",\n    },\n  ],\n  footnote: \"Averages across 240 practices, measured over the first 90 days after go-live.\",\n};\n\nexport function Stats66({\n  badge,\n  heading,\n  description,\n  items = [],\n  footnote,\n  className,\n}: Stats66Props) {\n  return (\n    <section className={cn(\"bg-background py-16 md:py-24 w-full\", className)}>\n      <div className=\"mx-auto max-w-7xl px-4 md:px-6\">\n        {badge && <Badge23 label={badge.label} />}\n\n        <div className=\"mt-6 border-t border-border pt-8 md:pt-10\">\n          <div className=\"grid gap-6 md:grid-cols-2 md:gap-12\">\n            {heading && (\n              <h2 className=\"text-3xl font-light leading-[1.1] tracking-tight text-foreground md:text-5xl\">\n                {heading}\n              </h2>\n            )}\n            {description && (\n              <div className=\"flex md:justify-end\">\n                <p className=\"max-w-md text-base leading-relaxed text-muted-foreground\">\n                  {description}\n                </p>\n              </div>\n            )}\n          </div>\n        </div>\n\n        <div className=\"mt-12 border-t border-border md:mt-16\">\n          {items.map((item, index) => (\n            <div\n              key={index}\n              className=\"grid gap-3 border-b border-border py-8 md:grid-cols-[minmax(0,14rem)_1fr_auto] md:items-baseline md:gap-10 md:py-10\"\n            >\n              <p className=\"text-4xl font-light tracking-tight text-foreground md:text-6xl\">\n                {item.value}\n              </p>\n              <div>\n                <p className=\"text-lg font-medium text-foreground\">{item.label}</p>\n                <p className=\"mt-2 max-w-lg text-base leading-relaxed text-muted-foreground\">\n                  {item.description}\n                </p>\n              </div>\n              {item.delta && (\n                <p className=\"flex items-center gap-2 text-sm text-primary md:justify-end\">\n                  <TrendingUp className=\"size-4 shrink-0\" aria-hidden=\"true\" />\n                  {item.delta}\n                </p>\n              )}\n            </div>\n          ))}\n        </div>\n\n        {footnote && <p className=\"mt-8 text-sm text-muted-foreground\">{footnote}</p>}\n      </div>\n    </section>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/beste/block/stats66.tsx"
    },
    {
      "path": "registry-components/badge23/badge23.tsx",
      "content": "\"use client\";\n\nimport { cn } from \"@/lib/utils\";\n\ntype Tone = \"muted\" | \"foreground\" | \"primary\";\n\ninterface Badge23Props {\n  /** Eyebrow label (rendered uppercase) */\n  label: string;\n  /** Text/border tone */\n  tone?: Tone;\n  /** Additional classes merged onto the root */\n  className?: string;\n}\n\nconst toneStyles: Record<Tone, string> = {\n  muted: \"border-border text-muted-foreground\",\n  foreground: \"border-foreground/30 text-foreground\",\n  primary: \"border-primary/40 text-primary\",\n};\n\nexport const badge23Demo: Badge23Props = {\n  label: \"Product\",\n};\n\nexport function Badge23({ label, tone = \"muted\", className }: Badge23Props) {\n  return (\n    <span\n      className={cn(\n        \"inline-flex items-center rounded-md border bg-transparent px-2.5 py-1 font-mono text-sm uppercase leading-none tracking-widest\",\n        toneStyles[tone],\n        className\n      )}\n    >\n      {label}\n    </span>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/beste/component/badge23.tsx"
    }
  ],
  "type": "registry:block"
}