{"$schema":"https://ui.shadcn.com/schema/registry-item.json","type":"registry:block","registryDependencies":["@efferd/full-width-divider"],"name":"testimonials-4","description":"Multi-column testimonial layout with quote icons, warm gradient background, and vertical divider.","categories":["testimonials"],"files":[{"path":"registry/blocks/testimonials/4/testimonials-section.tsx","type":"registry:component","content":"import { FullWidthDivider } from \"@/components/full-width-divider\";\n\ntype Testimonial = {\n\tquote: string;\n\tname: string;\n\trole: string;\n\tcompany?: string;\n};\n\nconst testimonials: Testimonial[] = [\n\t{\n\t\tquote:\n\t\t\t\"Efferd is so polished I might just retire and become a full-time potato farmer. The ecosystem is in safe hands.\",\n\t\tname: \"Shadcn\",\n\t\trole: \"Founder\",\n\t\tcompany: \"Shadcn UI\",\n\t},\n\t{\n\t\tquote:\n\t\t\t\"Efferd is why I still have hair. No more pulling it out over centering divs or fighting with CSS grid.\",\n\t\tname: \"Guillermo Rauch\",\n\t\trole: \"CEO\",\n\t\tcompany: \"Vercel\",\n\t},\n\n\t{\n\t\tquote:\n\t\t\t\"I tried to buy Efferd but they wouldn't sell. So I just bought Twitter instead to complain about it.\",\n\t\tname: \"Elon Musk\",\n\t\trole: \"CEO\",\n\t\tcompany: \"X.com\",\n\t},\n];\n\nexport function TestimonialsSection() {\n\treturn (\n\t\t<section className=\"relative mx-auto min-h-screen w-full max-w-4xl place-content-center border-x\">\n\t\t\t<FullWidthDivider />\n\t\t\t<div className=\"grid md:grid-cols-[2fr_1px_1fr]\">\n\t\t\t\t<div className=\"divide-y\">\n\t\t\t\t\t{testimonials.slice(0, 2).map((testimonial) => (\n\t\t\t\t\t\t<TestimonialCard key={testimonial.name} testimonial={testimonial} />\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"h-px bg-border md:h-auto\" />\n\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t<TestimonialCard testimonial={testimonials[2] as Testimonial} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<FullWidthDivider />\n\t\t</section>\n\t);\n}\n\nfunction TestimonialCard({ testimonial }: { testimonial: Testimonial }) {\n\tconst { quote, name, role, company } = testimonial;\n\n\treturn (\n\t\t<figure className=\"p-6 md:p-8\">\n\t\t\t<IconPlaceholder\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName=\"mb-4 size-12 stroke-1 text-muted-foreground\"\n\t\t\t\thugeicons=\"QuoteDownIcon\"\n\t\t\t\tlucide=\"QuoteIcon\"\n\t\t\t\tphosphor=\"QuotesIcon\"\n\t\t\t\tremixicon=\"RiDoubleQuotesL\"\n\t\t\t\ttabler=\"IconQuote\"\n\t\t\t/>\n\n\t\t\t<blockquote className=\"mb-6 font-normal text-base text-foreground md:text-lg\">\n\t\t\t\t&quot;{quote}&quot;\n\t\t\t</blockquote>\n\n\t\t\t<figcaption className=\"flex flex-col gap-0.5\">\n\t\t\t\t<cite className=\"font-medium text-foreground text-lg not-italic\">\n\t\t\t\t\t{name}\n\t\t\t\t</cite>\n\t\t\t\t<p className=\"text-muted-foreground text-sm\">\n\t\t\t\t\t{role}\n\t\t\t\t\t{company && `, ${company}`}\n\t\t\t\t</p>\n\t\t\t</figcaption>\n\t\t</figure>\n\t);\n}\n"}]}