{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "features-1",
  "type": "registry:block",
  "title": "Features 1",
  "description": "Features Block with grid layout, icon decorators, and feature cards",
  "dependencies": [
    "react",
    "payload",
    "lucide-react"
  ],
  "registryDependencies": [
    "card",
    "@uifoundry/icon",
    "@uifoundry/icon-field",
    "@uifoundry/block-constants"
  ],
  "files": [
    {
      "path": "registry/payload/blocks/features/features-1/index.tsx",
      "content": "import type { ComponentPropsWithRef } from \"react\";\nimport type { Features_1_Block } from \"~/payload-types\";\nimport { Card, CardHeader, CardContent } from \"@/registry/ui/card\";\nimport { Icon } from \"@/registry/ui/icon\";\n\nexport * from \"./config\";\n\nexport default function Features_1({\n  header,\n  subheader,\n  features,\n}: Features_1_Block) {\n  return (\n    <section className=\"bg-zinc-50 py-16 md:py-32 dark:bg-transparent\">\n      <div className=\"@container mx-auto max-w-5xl px-6\">\n        <div className=\"text-center\">\n          <h2 className=\"text-4xl font-semibold text-balance lg:text-5xl\">\n            {header}\n          </h2>\n          <p className=\"mt-4\">{subheader}</p>\n        </div>\n        <Card className=\"mx-auto mt-8 grid max-w-sm divide-y overflow-hidden shadow-zinc-950/5 *:text-center md:mt-16 @min-4xl:max-w-full @min-4xl:grid-cols-3 @min-4xl:divide-x @min-4xl:divide-y-0\">\n          {features.map((feature, index) => (\n            <div className=\"group shadow-zinc-950/5\" key={`feature-${index}`}>\n              <CardHeader className=\"pb-3\">\n                {feature.icon && (\n                  <CardDecorator>\n                    <Icon icon={feature.icon} />\n                  </CardDecorator>\n                )}\n\n                <h3 className=\"mt-6 font-medium\">{feature.title}</h3>\n              </CardHeader>\n\n              <CardContent>\n                <p className=\"text-sm\">{feature.description}</p>\n              </CardContent>\n            </div>\n          ))}\n        </Card>\n      </div>\n    </section>\n  );\n}\n\nfunction CardDecorator({\n  children,\n  ...divProps\n}: ComponentPropsWithRef<\"div\">) {\n  return (\n    <div\n      className=\"relative mx-auto size-36 duration-200 [--color-border:color-mix(in_oklab,var(--color-zinc-950)10%,transparent)] group-hover:[--color-border:color-mix(in_oklab,var(--color-zinc-950)20%,transparent)] dark:[--color-border:color-mix(in_oklab,var(--color-white)15%,transparent)] dark:group-hover:bg-white/5 dark:group-hover:[--color-border:color-mix(in_oklab,var(--color-white)20%,transparent)]\"\n      {...divProps}\n    >\n      <div\n        aria-hidden\n        className=\"absolute inset-0 bg-[linear-gradient(to_right,var(--color-border)_1px,transparent_1px),linear-gradient(to_bottom,var(--color-border)_1px,transparent_1px)] bg-[size:24px_24px]\"\n      />\n      <div\n        aria-hidden\n        className=\"to-background absolute inset-0 bg-radial from-transparent to-75%\"\n      />\n      <div className=\"bg-background absolute inset-0 m-auto flex size-12 items-center justify-center border-t border-l\">\n        {children}\n      </div>\n    </div>\n  );\n}\n",
      "type": "registry:component",
      "target": "src/payload/blocks/Features/Features_1/index.tsx"
    },
    {
      "path": "registry/payload/blocks/features/features-1/config.ts",
      "content": "import type { Block } from \"payload\";\nimport {\n\tBLOCK_GROUP_FEATURES,\n\tBLOCK_SLUG_FEATURES_1,\n} from \"@/registry/default/lib/constants/blocks\";\nimport iconField from \"@/registry/default/lib/fields/icon/config\";\n\nexport const Features_1_Block: Block = {\n\tslug: BLOCK_SLUG_FEATURES_1,\n\tinterfaceName: \"Features_1_Block\",\n\tlabels: {\n\t\tsingular: \"Features 1\",\n\t\tplural: \"Features 1's\",\n\t},\n\tadmin: {\n\t\tgroup: BLOCK_GROUP_FEATURES,\n\t},\n\tfields: [\n\t\t{\n\t\t\tname: \"header\",\n\t\t\ttype: \"text\",\n\t\t\tlabel: \"Header\",\n\t\t\trequired: true,\n\t\t\tdefaultValue: \"Powerful Features\",\n\t\t},\n\t\t{\n\t\t\tname: \"subheader\",\n\t\t\ttype: \"text\",\n\t\t\tlabel: \"SubHeader\",\n\t\t\trequired: true,\n\t\t\tdefaultValue:\n\t\t\t\t\"Everything you need to build modern web applications with confidence\",\n\t\t},\n\t\t{\n\t\t\tname: \"features\",\n\t\t\ttype: \"array\",\n\t\t\trequired: true,\n\t\t\tminRows: 1,\n\t\t\tfields: [\n\t\t\t\t{\n\t\t\t\t\tname: \"title\",\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tlabel: \"Title\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tdefaultValue: \"New Feature\",\n\t\t\t\t\tadmin: {\n\t\t\t\t\t\tplaceholder: \"New Feature\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"description\",\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tlabel: \"Description\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tdefaultValue: \"\",\n\t\t\t\t},\n\t\t\t\ticonField(),\n\t\t\t],\n\t\t\tdefaultValue: [\n\t\t\t\t{\n\t\t\t\t\ticon: \"Zap\",\n\t\t\t\t\ttitle: \"Lightning Fast\",\n\t\t\t\t\tdescription: \"Optimized for speed and performance\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: \"Shield\",\n\t\t\t\t\ttitle: \"Secure by Default\",\n\t\t\t\t\tdescription: \"Built with security best practices\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: \"Code\",\n\t\t\t\t\ttitle: \"Developer Friendly\",\n\t\t\t\t\tdescription: \"Clean APIs and excellent documentation\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n};\n",
      "type": "registry:component",
      "target": "src/payload/blocks/Features/Features_1/config.ts"
    }
  ]
}