{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "contact-1",
  "registryDependencies": [
    "@fulldev/button",
    "@fulldev/field",
    "@fulldev/input",
    "@fulldev/section",
    "@fulldev/textarea",
    "@fulldev/icon"
  ],
  "files": [
    {
      "path": "src/components/blocks/contact-1.astro",
      "content": "---\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Field,\n  FieldDescription,\n  FieldGroup,\n  FieldLabel,\n  FieldLegend,\n  FieldSet,\n} from \"@/components/ui/field\"\nimport { Icon } from \"@/components/ui/icon\"\nimport { Input } from \"@/components/ui/input\"\nimport { Section, SectionContainer } from \"@/components/ui/section\"\nimport { Textarea } from \"@/components/ui/textarea\"\n\ntype Props = {\n  class?: string\n  title: string\n  description: string\n  contactItems: {\n    icon: string\n    title: string\n    description: string\n    href?: string\n  }[]\n  form: {\n    legend: string\n    nameLabel: string\n    namePlaceholder: string\n    emailLabel: string\n    emailPlaceholder: string\n    messageLabel: string\n    messagePlaceholder: string\n    messageDescription: string\n    actionLabel: string\n  }\n}\n\nconst { class: className, title, description, contactItems, form } = Astro.props\n---\n\n<Section class={cn(\"\", className)}>\n  <SectionContainer class=\"items-center gap-6 text-center\">\n    <div class=\"flex max-w-2xl flex-col items-center gap-4\">\n      <h2\n        class=\"text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl\"\n      >\n        {title}\n      </h2>\n      <p\n        class=\"text-muted-foreground max-w-2xl text-lg leading-relaxed text-balance\"\n      >\n        {description}\n      </p>\n    </div>\n  </SectionContainer>\n  <SectionContainer>\n    <div class=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-4\">\n      {\n        contactItems.map((item) => (\n          <div class=\"flex flex-col gap-3 rounded-xl border p-5\">\n            {item.href ? (\n              <Button\n                as=\"a\"\n                href={item.href}\n                variant=\"secondary\"\n                size=\"icon\"\n                class=\"text-primary\"\n                aria-label={item.title}\n              >\n                <Icon name={item.icon} />\n              </Button>\n            ) : (\n              <Button\n                variant=\"secondary\"\n                size=\"icon\"\n                class=\"text-primary\"\n                aria-label={item.title}\n              >\n                <Icon name={item.icon} />\n              </Button>\n            )}\n            <h3 class=\"text-foreground text-sm font-medium\">{item.title}</h3>\n            <p class=\"text-muted-foreground text-sm leading-relaxed\">\n              {item.description}\n            </p>\n          </div>\n        ))\n      }\n    </div>\n  </SectionContainer>\n  <SectionContainer>\n    <div class=\"mx-auto w-full max-w-2xl rounded-xl border p-6 sm:p-8\">\n      <FieldSet>\n        <FieldLegend class=\"sr-only\">{form.legend}</FieldLegend>\n        <FieldGroup>\n          <div class=\"grid gap-4 md:grid-cols-2\">\n            <Field>\n              <FieldLabel for=\"contact-name-1\">{form.nameLabel}</FieldLabel>\n              <Input id=\"contact-name-1\" placeholder={form.namePlaceholder} />\n            </Field>\n            <Field>\n              <FieldLabel for=\"contact-email-1\">{form.emailLabel}</FieldLabel>\n              <Input\n                id=\"contact-email-1\"\n                type=\"email\"\n                placeholder={form.emailPlaceholder}\n              />\n            </Field>\n          </div>\n          <Field>\n            <FieldLabel for=\"contact-message-1\">{form.messageLabel}</FieldLabel>\n            <Textarea\n              id=\"contact-message-1\"\n              rows={5}\n              placeholder={form.messagePlaceholder}\n            />\n            <FieldDescription>{form.messageDescription}</FieldDescription>\n          </Field>\n          <Button size=\"lg\" class=\"w-full\">{form.actionLabel}</Button>\n        </FieldGroup>\n      </FieldSet>\n    </div>\n  </SectionContainer>\n</Section>\n",
      "type": "registry:block"
    }
  ],
  "type": "registry:block"
}