{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "investor-update",
  "type": "registry:component",
  "title": "Investor update",
  "description": "An investor update page with a gradient headline, flip counting stats, a highlights list, a product rail and a cursor spotlight panel for the ask.",
  "dependencies": [
    "motion"
  ],
  "registryDependencies": [
    "https://ui.minidev.pro/r/cursor-spotlight-panel.json",
    "https://ui.minidev.pro/r/flip-stat-board.json",
    "https://ui.minidev.pro/r/horizontal-product-rail.json",
    "https://ui.minidev.pro/r/masked-gradient-headline.json",
    "utils"
  ],
  "files": [
    {
      "path": "registry/premium/investor-update.tsx",
      "type": "registry:ui",
      "target": "components/ui/investor-update.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { motion, useReducedMotion } from \"motion/react\"\nimport { cn } from \"@/lib/utils\"\nimport { FlipStatBoard } from \"@/components/ui/flip-stat-board\"\nimport { MaskedGradientHeadline } from \"@/components/ui/masked-gradient-headline\"\nimport { CursorSpotlightPanel } from \"@/components/ui/cursor-spotlight-panel\"\nimport { HorizontalProductRail } from \"@/components/ui/horizontal-product-rail\"\n\nfunction InvestorUpdate({ className }: { className?: string }) {\n  const reduce = useReducedMotion()\n  return (\n    <article\n      data-slot=\"investor-update\"\n      data-tier=\"premium\"\n      className={cn(\"mx-auto max-w-3xl space-y-12 px-6 py-16\", className)}\n    >\n      <header className=\"space-y-4 border-b border-border pb-8\">\n        <p className=\"text-xs font-medium tracking-[0.01em] text-fg-muted uppercase\">Investor update · Q3</p>\n        <MaskedGradientHeadline>Building the kit teams refuse to leave.</MaskedGradientHeadline>\n        <motion.p\n          initial={reduce ? false : { y: 8 }}\n          animate={{ y: 0 }}\n          className=\"text-base leading-[1.55] text-fg-muted\"\n        >\n          MiniDev UI is a Hairline registry: free product primitives, Premium launch moments, and an audit gate that keeps screenshots honest.\n        </motion.p>\n      </header>\n      <FlipStatBoard\n        stats={[\n          { value: 400, label: \"Registry items\" },\n          { value: 49, label: \"Galleries\" },\n          { value: 3, label: \"Waves shipped\" },\n        ]}\n      />\n      <section className=\"space-y-3\">\n        <h2 className=\"text-xl font-medium tracking-[-0.014em] text-fg\">What shipped</h2>\n        <ul className=\"space-y-2 text-sm leading-[1.55] text-fg-muted\">\n          <li className=\"border-l border-accent/40 pl-3\">Email + admin density for real product consoles</li>\n          <li className=\"border-l border-accent/40 pl-3\">Premium kinetic layer: sticky story, magnetic CTA, wipe compares</li>\n          <li className=\"border-l border-accent/40 pl-3\">Self-serve onboarding shipped, activation up 18%</li>\n        </ul>\n      </section>\n      <HorizontalProductRail ariaLabel=\"Update product surfaces\" />\n      <CursorSpotlightPanel\n        title=\"Ask\"\n        body=\"Extending Premium page kits and motion atoms while keeping free MIT forever. Reach out if you want a Studio seat walkthrough.\"\n      />\n    </article>\n  )\n}\nexport { InvestorUpdate }\n"
    }
  ]
}
