{"$schema":"https://ui.shadcn.com/schema/registry-item.json","type":"registry:block","registryDependencies":["avatar"],"name":"testimonials-2","description":"Minimalist testimonial with decorative cross-hair lines around the avatar.","categories":["testimonials"],"files":[{"path":"registry/blocks/testimonials/2/testimonials-section.tsx","type":"registry:component","content":"import { cn } from \"@/lib/utils\";\nimport {\n\tAvatar,\n\tAvatarFallback,\n\tAvatarImage,\n} from \"@/components/ui/avatar\";\n\nexport function TestimonialsSection() {\n\treturn (\n\t\t<figure className=\"mx-auto flex w-full max-w-lg flex-col items-center justify-center md:grid md:grid-cols-[auto_1fr]\">\n\t\t\t<div className=\"relative\">\n\t\t\t\t{/* Vertical lines */}\n\t\t\t\t<MaskLine className=\"left-0\" orientation=\"vertical\" />\n\t\t\t\t<MaskLine className=\"right-0\" orientation=\"vertical\" />\n\t\t\t\t{/*  Horizontal lines */}\n\t\t\t\t<MaskLine className=\"top-0 md:w-xl\" orientation=\"horizontal\" />\n\t\t\t\t<MaskLine className=\"bottom-0 md:w-xl\" orientation=\"horizontal\" />\n\n\t\t\t\t<Avatar className=\"mask-[radial-gradient(circle,black_60%,transparent)] size-24 rounded-none *:rounded-none md:size-32\">\n\t\t\t\t\t<AvatarImage\n\t\t\t\t\t\talt=\"Shadcn's profile picture\"\n\t\t\t\t\t\tsrc=\"https://github.com/shadcn.png\"\n\t\t\t\t\t/>\n\t\t\t\t\t<AvatarFallback>SH</AvatarFallback>\n\t\t\t\t</Avatar>\n\t\t\t</div>\n\t\t\t<figcaption className=\"space-y-4 p-8 text-center md:p-6 md:text-left\">\n\t\t\t\t<blockquote className=\"text-lg text-muted-foreground leading-tight tracking-tight\">\n\t\t\t\t\t&quot;<span className=\"font-medium text-foreground\">Efferd</span> is\n\t\t\t\t\tso polished I might just retire. The ecosystem is in safe hands.&quot;\n\t\t\t\t</blockquote>\n\n\t\t\t\t<div>\n\t\t\t\t\t<cite className=\"font-medium text-foreground text-xs not-italic\">\n\t\t\t\t\t\tShadcn\n\t\t\t\t\t</cite>\n\t\t\t\t\t<div className=\"text-[10px] text-muted-foreground\">\n\t\t\t\t\t\tFounder, shadcn/ui\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</figcaption>\n\t\t</figure>\n\t);\n}\n\nexport function MaskLine({\n\tclassName,\n\torientation,\n\t...props\n}: React.ComponentProps<\"div\"> & { orientation?: \"horizontal\" | \"vertical\" }) {\n\treturn (\n\t\t<div\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute bg-foreground/20\",\n\t\t\t\torientation === \"vertical\" &&\n\t\t\t\t\t\"mask-t-from-80% mask-b-from-80% -inset-y-1/2 w-px\",\n\t\t\t\torientation === \"horizontal\" &&\n\t\t\t\t\t\"mask-l-from-80% mask-r-from-80% -inset-x-1/2 h-px\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"}]}