{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "about69",
  "title": "Mission Band With Principles",
  "description": "A company story section that runs a two-column heading over a wide photo band, then sets three founding principles as numbered hairline columns underneath.",
  "dependencies": [
    "clsx",
    "tailwind-merge",
    "lucide-react"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/about69/about69.tsx",
      "content": "\"use client\";\n\nimport { Badge23 } from \"@/components/beste/component/badge23\";\nimport { cn } from \"@/lib/utils\";\n\ninterface Badge {\n  label: string;\n}\n\ninterface AboutImage {\n  src: string;\n  alt: string;\n}\n\ninterface Principle {\n  title: string;\n  description: string;\n}\n\ninterface About69Props {\n  badge?: Badge;\n  heading?: string;\n  description?: string;\n  image?: AboutImage;\n  items?: Principle[];\n  className?: string;\n}\n\nexport const about69Demo: About69Props = {\n  badge: { label: \"About\" },\n  heading: \"Software for people who cannot afford a bad Tuesday\",\n  description:\n    \"We started Sirius after a decade of watching good practices run on tools that were never designed for the pace of a real clinic day.\",\n  image: {\n    src: \"https://images.unsplash.com/photo-1678380003465-e8b1b9e3877c?q=80&w=2228&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D\",\n    alt: \"A small team talking around a laptop\",\n  },\n  items: [\n    {\n      title: \"We sit behind the desk first\",\n      description:\n        \"Nothing ships until someone on the team has watched it used on a busy morning, in a real practice, with a queue forming.\",\n    },\n    {\n      title: \"The record belongs to the practice\",\n      description:\n        \"Export everything, any time, in an open format. Leaving should be as easy as joining, and we would rather earn the renewal.\",\n    },\n    {\n      title: \"Quiet beats clever\",\n      description:\n        \"A feature that needs explaining is a feature that failed. We remove more than we add, and we count that as progress.\",\n    },\n  ],\n};\n\nexport function About69({\n  badge,\n  heading,\n  description,\n  image,\n  items = [],\n  className,\n}: About69Props) {\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        {image && (\n          <div className=\"relative mt-12 h-72 overflow-hidden rounded-md md:mt-16 md:h-96\">\n            <img\n              className=\"absolute inset-0 size-full object-cover\"\n              src={image.src}\n              alt={image.alt}\n            />\n          </div>\n        )}\n\n        <div className=\"mt-12 grid gap-8 md:grid-cols-3 md:gap-12\">\n          {items.map((item, index) => (\n            <div key={index} className=\"border-t border-border pt-6\">\n              <span className=\"text-sm text-muted-foreground\">\n                {String(index + 1).padStart(2, \"0\")}\n              </span>\n              <h3 className=\"mt-3 text-xl font-light tracking-tight text-foreground md:text-2xl\">\n                {item.title}\n              </h3>\n              <p className=\"mt-3 text-base leading-relaxed text-muted-foreground\">\n                {item.description}\n              </p>\n            </div>\n          ))}\n        </div>\n      </div>\n    </section>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/beste/block/about69.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"
}