{"success":true,"data":{"block":{"id":"testimonials-stats-header","name":"Testimonials with Stats Header","title":"Testimonials Stats Header","category":"Testimonials","categorySlug":"testimonials","description":"A testimonial section with a statistics display header showing key metrics (customers, rating, etc.) above a grid of testimonial cards. The stats create immediate credibility before users read individual testimonials. Ideal for showcasing both quantitative and qualitative social proof.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293675/rpbdlj8fisd6e6goaprcssuzqh49/cleanshot-2026-03-10-at-11-14-16-2x.png","mobile":"https://cdn.ing/assets/i/r/293674/69t35y7r8o9t8arthr5g7z867cmh/cleanshot-2026-03-10-at-11-14-30-2x.png"},"componentPath":"blocks/testimonials/testimonials-stats-header.tsx","code":"import { TestimonialsStatsHeader } from \"@opensite/ui/blocks/testimonials/testimonials-stats-header\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsStatsHeader\n      heading=\"Trusted by Industry Leaders\"\n      description=\"Join thousands of businesses achieving exceptional results\"\n      stats={[\n        {\n          id: \"growth\",\n          value: \"312\",\n          suffix: \"%\",\n          label: \"Revenue Growth\",\n          description: \"Average year-over-year lift after launch.\",\n          icon: \"lucide/trending-up\",\n        },\n        {\n          id: \"velocity\",\n          value: \"4.6\",\n          suffix: \"x\",\n          label: \"Delivery Speed\",\n          description: \"Faster time-to-value compared to baseline.\",\n          icon: \"lucide/rocket\",\n          iconColor: \"text-primary\",\n        },\n        {\n          id: \"retention\",\n          prefix: \"+\",\n          value: \"29\",\n          suffix: \"%\",\n          label: \"Customer Retention\",\n          description: \"Retention gains within the first 90 days.\",\n          icon: \"lucide/user-check\",\n          iconColor: \"text-primary\",\n        },\n      ]}\n      testimonials={[\n        {\n          quote:\n            \"The platform has transformed our entire organization. Results exceeded all expectations, and the team support has been phenomenal.\",\n          author: \"Katherine Reynolds\",\n          role: \"CEO\",\n          company: \"Global Enterprises\",\n          avatarSrc: imagePlaceholders[53],\n          linkConfig: {\n            href: \"https://linkedin.com\",\n            label: \"View Post\",\n          },\n        },\n        {\n          quote:\n            \"Implementing this solution was one of the best decisions we've made. Performance, reliability, and innovation in one package.\",\n          author: \"Daniel Kim\",\n          role: \"VP of Operations\",\n          company: \"TechForward Inc\",\n          avatarSrc: imagePlaceholders[68],\n          linkConfig: {\n            href: \"https://linkedin.com\",\n            label: \"View Post\",\n          },\n        },\n        {\n          quote:\n            \"The analytics capabilities have given us insights that drive real business value. We make better decisions faster now.\",\n          author: \"Michelle Torres\",\n          role: \"Chief Data Officer\",\n          company: \"DataDriven Corp\",\n          avatarSrc: imagePlaceholders[83],\n          linkConfig: {\n            href: \"https://linkedin.com\",\n            label: \"View Post\",\n          },\n        },\n      ]}\n      actions={[\n        {\n          label: \"Read All Reviews\",\n          href: \"#\",\n          variant: \"default\",\n          size: \"lg\",\n        },\n      ]}\n      background=\"white\"\n      pattern=\"gridBasic\"\n      patternOpacity={0.9}\n    />\n  );\n}","propsSchema":{"stats":{"type":"array","description":"Array of stats to display in the header","items":{"type":"object","description":"","fields":{"value":{"type":"object","description":"Stat value (number or formatted string)","typeLabel":"ReactNode","required":true},"label":{"type":"object","description":"Stat label/description","typeLabel":"ReactNode","required":false},"icon":{"type":"object","description":"Optional icon","typeLabel":"ReactNode | string","required":false},"className":{"type":"string","description":"Additional CSS classes","required":false}},"typeLabel":"StatItem"},"typeLabel":"StatItem[]","required":false},"statsSlot":{"type":"object","description":"Custom slot for rendering stats (overrides stats array)","typeLabel":"React.ReactNode","required":false},"testimonials":{"type":"array","description":"Array of testimonials to display","items":{"type":"object","description":"","fields":{"quote":{"type":"object","description":"Testimonial quote text","typeLabel":"ReactNode","required":true},"author":{"type":"object","description":"Author name","typeLabel":"ReactNode","required":false},"role":{"type":"object","description":"Author role/title","typeLabel":"ReactNode","required":false},"company":{"type":"object","description":"Author company","typeLabel":"ReactNode","required":false},"avatarSrc":{"type":"string","description":"Author avatar image URL","required":false},"avatar":{"type":"object","description":"Author avatar configuration (alternative to avatarSrc)","fields":{"src":{"type":"string","description":"","required":true},"alt":{"type":"string","description":"","required":false},"fallback":{"type":"string","description":"","required":false}},"typeLabel":"{ src: string; alt?: string; fallback?: string; }","required":false},"logoSrc":{"type":"string","description":"Company logo URL","required":false},"rating":{"type":"number","description":"Star rating (1-5)","required":false},"className":{"type":"string","description":"Additional CSS classes","required":false},"linkConfig":{"type":"object","description":"Review linking config","fields":{"label":{"type":"object","description":"","typeLabel":"React.ReactNode","required":true},"href":{"type":"string","description":"","required":true},"className":{"type":"string","description":"","required":false}},"typeLabel":"{ label: React.ReactNode; href: string; className?: string; }","required":false}},"typeLabel":"TestimonialItem"},"typeLabel":"TestimonialItem[]","required":false},"testimonialsSlot":{"type":"object","description":"Custom slot for rendering testimonials (overrides testimonials array)","typeLabel":"React.ReactNode","required":false},"heading":{"type":"object","description":"Main heading content","typeLabel":"React.ReactNode","required":false},"description":{"type":"object","description":"Description text below heading","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"headerClassName":{"type":"string","description":"Additional CSS classes for the header container","required":false},"headingClassName":{"type":"string","description":"Additional CSS classes for the heading","required":false},"descriptionClassName":{"type":"string","description":"Additional CSS classes for the description","required":false},"statsGridClassName":{"type":"string","description":"Additional CSS classes for the stats grid","required":false},"statItemClassName":{"type":"string","description":"Additional CSS classes for each stat item","required":false},"testimonialsGridClassName":{"type":"string","description":"Additional CSS classes for the testimonials grid","required":false},"cardClassName":{"type":"string","description":"Additional CSS classes for each card","required":false},"quoteClassName":{"type":"string","description":"Additional CSS classes for the quote text","required":false},"authorClassName":{"type":"string","description":"Additional CSS classes for the author section","required":false},"background":{"type":"string","description":"Background style for the section","typeLabel":"SectionBackground","required":false},"spacing":{"type":"object","description":"Vertical spacing for the section","fields":{},"typeLabel":"SectionSpacing","required":false},"pattern":{"type":"object","description":"Optional background pattern name or URL","fields":{},"typeLabel":"PatternName","required":false},"patternOpacity":{"type":"number","description":"Pattern overlay opacity (0-1)","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"statCardClassName":{"type":"string","description":"Additional CSS classes for stat cards","required":false},"actions":{"type":"array","description":"Array of action configurations for CTA buttons","items":{"type":"object","description":"","fields":{"variant":{"type":"string","description":"","typeLabel":"\"default\" | \"destructive\" | \"outline\" | \"secondary\" | \"ghost\" | \"link\"","required":false},"size":{"type":"string","description":"","typeLabel":"\"default\" | \"sm\" | \"md\" | \"lg\" | \"icon\" | \"icon-sm\" | \"icon-lg\"","required":false},"label":{"type":"object","description":"Button/link label text or ReactNode","typeLabel":"ReactNode","required":false},"icon":{"type":"object","description":"Icon to display (typically before label)","typeLabel":"ReactNode","required":false},"iconAfter":{"type":"object","description":"Icon to display after the label","typeLabel":"ReactNode","required":false},"href":{"type":"string","description":"URL for link behavior","required":false},"onClick":{"type":"object","description":"Click handler for button behavior","typeLabel":"MouseEventHandler","required":false},"className":{"type":"string","description":"Additional CSS classes for the action","required":false},"children":{"type":"object","description":"Custom children (overrides label + icon rendering)","typeLabel":"ReactNode","required":false},"aria-label":{"type":"string","description":"ARIA label for accessibility","required":false},"asButton":{"type":"boolean","description":"Render as a button element instead of an anchor/link","required":false}},"typeLabel":"ActionConfig"},"typeLabel":"ActionConfig[]","required":false},"actionsSlot":{"type":"object","description":"Custom slot for rendering actions (overrides actions array)","typeLabel":"React.ReactNode","required":false},"actionsClassName":{"type":"string","description":"Additional CSS classes for the actions container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","stats","metrics","numbers","header","grid","social-proof","credibility"],"performance":{},"importantUsageNotes":"DO NOT generate or guess testimonials, reviews, ratings, customer names, company logos, or any review content — only use real, verified testimonials and customer data from the system. If the site has no real testimonials in the system, DO NOT use this block. This block combines a stats header with a testimonial grid below it; both arrays must contain real, verified data. For the 'stats' array, supply exactly 3 stat items (the canonical count from the demo) — only use real, verifiable stat values from the system; do not invent metrics, percentages, or growth figures. Each stat requires a real 'value', 'label', and optionally 'prefix', 'suffix', and 'description'. For the 'testimonials' array, supply testimonials in multiples of 3 (3, 6, or 9) to match the 3-column grid below the stats (the demo uses 3). If you supply multiple 'actions', ensure to use a variant of 'default' for the first action, and 'outline' for the second action to ensure proper visual distinction between the two CTAs. Follow the example props closely for this block."}},"timestamp":"2026-05-13T10:41:10.382Z"}