{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "product-launch",
  "type": "registry:component",
  "title": "Product launch",
  "description": "A product launch page with a scroll progress rail, kinetic hero, device stack, sticky feature story, before and after wipe, stats, countdown and waitlist.",
  "dependencies": [],
  "registryDependencies": [
    "https://ui.minidev.pro/r/before-after-wipe.json",
    "https://ui.minidev.pro/r/command-waitlist.json",
    "https://ui.minidev.pro/r/cursor-spotlight-panel.json",
    "https://ui.minidev.pro/r/device-frame-stack.json",
    "https://ui.minidev.pro/r/flip-stat-board.json",
    "https://ui.minidev.pro/r/hero-kinetic-type.json",
    "https://ui.minidev.pro/r/horizontal-product-rail.json",
    "https://ui.minidev.pro/r/launch-countdown.json",
    "https://ui.minidev.pro/r/magnetic-cta.json",
    "https://ui.minidev.pro/r/marquee-quotes.json",
    "https://ui.minidev.pro/r/scroll-progress-rail.json",
    "https://ui.minidev.pro/r/sticky-feature-story.json",
    "utils"
  ],
  "files": [
    {
      "path": "registry/premium/product-launch.tsx",
      "type": "registry:ui",
      "target": "components/ui/product-launch.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\nimport { ScrollProgressRail } from \"@/components/ui/scroll-progress-rail\"\nimport { HeroKineticType } from \"@/components/ui/hero-kinetic-type\"\nimport { DeviceFrameStack } from \"@/components/ui/device-frame-stack\"\nimport { StickyFeatureStory } from \"@/components/ui/sticky-feature-story\"\nimport { BeforeAfterWipe } from \"@/components/ui/before-after-wipe\"\nimport { FlipStatBoard } from \"@/components/ui/flip-stat-board\"\nimport { MarqueeQuotes } from \"@/components/ui/marquee-quotes\"\nimport { LaunchCountdown } from \"@/components/ui/launch-countdown\"\nimport { CommandWaitlist } from \"@/components/ui/command-waitlist\"\nimport { CursorSpotlightPanel } from \"@/components/ui/cursor-spotlight-panel\"\nimport { MagneticCta } from \"@/components/ui/magnetic-cta\"\nimport { HorizontalProductRail } from \"@/components/ui/horizontal-product-rail\"\n\nfunction ProductLaunch({ className }: { className?: string }) {\n  return (\n    <div data-slot=\"product-launch\" data-tier=\"premium\" className={cn(\"bg-bg\", className)}>\n      <ScrollProgressRail labels={[\"Intro\", \"Story\", \"Proof\", \"Waitlist\"]} />\n      <div className=\"mx-auto max-w-5xl space-y-24 px-6 py-16\">\n        <div className=\"grid items-center gap-10 lg:grid-cols-2\">\n          <HeroKineticType\n            lines={[\"Launch like\", \"you mean it.\"]}\n            description=\"A Premium page kit built from kinetic type, sticky story, and magnetic CTAs — not free blocks with a fade.\"\n          />\n          <DeviceFrameStack />\n        </div>\n        <HorizontalProductRail ariaLabel=\"Launch product surfaces\" />\n        <StickyFeatureStory />\n        <BeforeAfterWipe />\n        <FlipStatBoard\n          stats={[\n            { value: 400, label: \"Components\" },\n            { value: 98, label: \"Audit score\" },\n            { value: 12, label: \"Launch days saved\" },\n          ]}\n        />\n        <MarqueeQuotes />\n        <CursorSpotlightPanel\n          title=\"Same tokens. Different tier.\"\n          body=\"Free ships the product. Premium owns the first screen — motion, density, and narrative.\"\n        />\n        <div className=\"flex flex-col items-center gap-8\">\n          <LaunchCountdown />\n          <CommandWaitlist />\n          <MagneticCta size=\"lg\">Get early access</MagneticCta>\n        </div>\n      </div>\n    </div>\n  )\n}\nexport { ProductLaunch }\n"
    }
  ]
}
