{"success":true,"data":{"category":{"slug":"testimonials","name":"Testimonials","description":"Collection of testimonials components"},"blocks":[{"id":"testimonials-list-verified","name":"Testimonials List with Verified Badges","title":"Testimonials List Verified","category":"Testimonials","categorySlug":"testimonials","description":"A customer reviews section featuring a rating summary header with overall score, star distribution breakdown, and a list of individual reviews with verified purchase badges, author avatars, dates, and star ratings. Ideal for product pages, service reviews, or any page requiring authentic customer feedback display.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293653/wjidf8l1xxp6cqk3w6m7oqbytbha/cleanshot-2026-03-10-at-09-44-43-2x.png","mobile":"https://cdn.ing/assets/i/r/293652/vyde2psgm16saev7aahhiie5tlws/cleanshot-2026-03-10-at-09-44-55-2x.png"},"componentPath":"blocks/testimonials/testimonials-list-verified.tsx","code":"import { TestimonialsListVerified } from \"@opensite/ui/blocks/testimonials/testimonials-list-verified\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsListVerified\n      heading=\"Verified Customer Reviews\"\n      verifiedPurchaseLabel=\"Verified\"\n      reviews={[\n        {\n          rating: 5,\n          title: \"Outstanding quality and service\",\n          content:\n            \"I've been using this product for three months now, and it has completely transformed my workflow. The build quality is exceptional, and customer support has been incredibly responsive whenever I've had questions.\",\n          author: \"Daniel Foster\",\n          avatarSrc: imagePlaceholders[27],\n          date: \"January 20, 2026\",\n          verified: true,\n        },\n        {\n          rating: 5,\n          title: \"Worth every dollar\",\n          content:\n            \"After extensive research and comparing multiple options, I chose this product and couldn't be happier. It's reliable, efficient, and the features exceed what was advertised. Highly recommend for professionals.\",\n          author: \"Lisa Park\",\n          avatarSrc: imagePlaceholders[41],\n          date: \"January 18, 2026\",\n          verified: true,\n        },\n        {\n          rating: 4,\n          title: \"Excellent product with great potential\",\n          content:\n            \"Very satisfied with my purchase overall. The core functionality is solid and works exactly as described. A few features could be refined, but the team seems very responsive to feedback and regularly ships updates.\",\n          author: \"Christopher Hughes\",\n          avatarSrc: imagePlaceholders[55],\n          date: \"January 15, 2026\",\n          verified: true,\n        },\n        {\n          rating: 5,\n          title: \"Game changer for my business\",\n          content:\n            \"As a small business owner, this has been an invaluable investment. The efficiency gains alone have paid for itself multiple times over. My team adopted it quickly, and we've seen measurable improvements in our output.\",\n          author: \"Michelle Rodriguez\",\n          avatarSrc: imagePlaceholders[69],\n          date: \"January 12, 2026\",\n          verified: true,\n        },\n        {\n          rating: 5,\n          title: \"Impressed beyond expectations\",\n          content:\n            \"I was initially hesitant due to the price point, but this has proven to be one of the best purchases I've made. The attention to detail in both design and functionality is evident. Setup was straightforward, and I was productive within minutes.\",\n          author: \"Kevin Zhang\",\n          avatarSrc: imagePlaceholders[83],\n          date: \"January 8, 2026\",\n          verified: true,\n        },\n      ]}\n      background=\"white\"\n      pattern=\"diagonalCrossFadeTop\"\n      patternOpacity={0.9}\n    />\n  );\n}","propsSchema":{"reviews":{"type":"array","description":"Array of reviews to display","items":{"type":"object","description":"","fields":{"rating":{"type":"number","description":"Star rating (1-5)","required":true},"title":{"type":"object","description":"Review title","typeLabel":"React.ReactNode","required":true},"content":{"type":"object","description":"Review content/body","typeLabel":"React.ReactNode","required":true},"author":{"type":"object","description":"Author name","typeLabel":"React.ReactNode","required":false},"avatarSrc":{"type":"string","description":"Author avatar image URL","required":false},"date":{"type":"string","description":"Review date string","required":false},"verified":{"type":"boolean","description":"Whether the reviewer is verified","required":false}},"typeLabel":"ReviewItem"},"typeLabel":"ReviewItem[]","required":false},"reviewsSlot":{"type":"object","description":"Custom slot for rendering reviews (overrides reviews array)","typeLabel":"React.ReactNode","required":false},"heading":{"type":"object","description":"Main heading content","typeLabel":"React.ReactNode","required":false},"verifiedPurchaseLabel":{"type":"object","description":"Label for the verified purchase badge","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},"reviewClassName":{"type":"string","description":"Additional CSS classes for each review item","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the review content","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["reviews","testimonials","ratings","stars","verified","customer-feedback","product-reviews","social-proof"],"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. Each item in the 'reviews' array requires a real 'rating' (1-5), 'title', 'content', and optionally 'author', 'avatarSrc', 'date', and 'verified'. Only set 'verified: true' if the purchase is genuinely verified in the system; do not fabricate verified status. Do not invent star ratings, reviewer names, or dates. Supply 3-8 reviews; the demo uses 5. Follow the example props closely for this block."},{"id":"testimonials-images-helpful","name":"Testimonials with Images and Helpful Voting","title":"Testimonials Images Helpful","category":"Testimonials","categorySlug":"testimonials","description":"An enhanced reviews section featuring customer photos, helpful/not helpful voting buttons, and a write review CTA. Each review displays images in a gallery format with star ratings, author info, and engagement metrics. Perfect for e-commerce product pages requiring visual customer feedback.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293654/c9itagryaxpgt6c9dgsydh65q7bk/cleanshot-2026-03-10-at-09-45-59-2x.png","mobile":"https://cdn.ing/assets/i/r/293655/xqic4f0wlmadp943edanh260uokx/cleanshot-2026-03-10-at-09-46-16-2x.png"},"componentPath":"blocks/testimonials/testimonials-images-helpful.tsx","code":"import { TestimonialsImagesHelpful } from \"@opensite/ui/blocks/testimonials/testimonials-images-helpful\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsImagesHelpful\n      heading=\"Customer Reviews\"\n      writeReviewLabel=\"Write a Review\"\n      reportButtonLabel=\"Report\"\n      reviews={[\n        {\n          rating: 5,\n          title: \"Exceeded all expectations!\",\n          content:\n            \"I was skeptical at first, but this product completely won me over. The build quality is exceptional, and the performance is outstanding. I've attached photos showing how perfectly it integrates into my workspace.\",\n          author: \"Alexandra Martinez\",\n          avatarSrc: imagePlaceholders[22],\n          date: \"Jan 15, 2026\",\n          verified: true,\n          images: [imagePlaceholders[44], imagePlaceholders[66], imagePlaceholders[88]],\n          helpful: 24,\n          variant: \"Premium Edition\",\n        },\n        {\n          rating: 5,\n          title: \"Best investment for my business\",\n          content:\n            \"As a business owner, I needed something reliable and efficient. This has transformed how we operate daily. The ROI has been incredible, and our team loves using it. The photos show our actual setup in action.\",\n          author: \"David Kumar\",\n          avatarSrc: imagePlaceholders[33],\n          date: \"Jan 10, 2026\",\n          verified: true,\n          images: [imagePlaceholders[55], imagePlaceholders[77]],\n          helpful: 18,\n          variant: \"Business Pro\",\n        },\n        {\n          rating: 4,\n          title: \"Great product with minor room for improvement\",\n          content:\n            \"Overall very satisfied with my purchase. The features work as advertised and the quality is solid. Only giving 4 stars because the setup process could be more intuitive. Once running, it's been flawless.\",\n          author: \"Jennifer Lee\",\n          avatarSrc: imagePlaceholders[44],\n          date: \"Jan 5, 2026\",\n          verified: true,\n          helpful: 12,\n          variant: \"Standard\",\n        },\n        {\n          rating: 5,\n          title: \"Life-changing purchase!\",\n          content:\n            \"I cannot overstate how much this has improved my daily routine. It's intuitive, powerful, and beautifully designed. The customer support team has also been incredibly helpful with my questions. Highly recommend!\",\n          author: \"Marcus Johnson\",\n          avatarSrc: imagePlaceholders[56],\n          date: \"Dec 28, 2025\",\n          verified: true,\n          images: [imagePlaceholders[99]],\n          helpful: 31,\n          variant: \"Premium Edition\",\n        },\n      ]}\n      onWriteReview={() => console.log(\"Open review form\")}\n      background=\"white\"\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"reviews":{"type":"array","description":"Array of reviews to display","items":{"type":"object","description":"","fields":{"rating":{"type":"number","description":"Star rating (1-5)","required":true},"title":{"type":"object","description":"Review title","typeLabel":"React.ReactNode","required":true},"content":{"type":"object","description":"Review content/body","typeLabel":"React.ReactNode","required":true},"author":{"type":"object","description":"Author name","typeLabel":"React.ReactNode","required":false},"avatarSrc":{"type":"string","description":"Author avatar image URL","required":false},"date":{"type":"string","description":"Review date string","required":false},"verified":{"type":"boolean","description":"Whether the reviewer is verified","required":false},"images":{"type":"array","description":"Array of review image URLs","items":{"type":"string","description":""},"required":false},"helpful":{"type":"number","description":"Number of helpful votes","required":false},"variant":{"type":"string","description":"Product variant purchased","required":false}},"typeLabel":"ReviewWithImages"},"typeLabel":"ReviewWithImages[]","required":false},"reviewsSlot":{"type":"object","description":"Custom slot for rendering reviews (overrides reviews array)","typeLabel":"React.ReactNode","required":false},"heading":{"type":"object","description":"Main heading content","typeLabel":"React.ReactNode","required":false},"verifiedPurchaseLabel":{"type":"object","description":"Label for the verified purchase badge","typeLabel":"React.ReactNode","required":false},"writeReviewLabel":{"type":"object","description":"Write review button text","typeLabel":"React.ReactNode","required":false},"reportButtonLabel":{"type":"object","description":"Label for the report button","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},"reviewClassName":{"type":"string","description":"Additional CSS classes for each review card","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the review content","required":false},"authorClassName":{"type":"string","description":"Additional CSS classes for the author section","required":false},"imagesClassName":{"type":"string","description":"Additional CSS classes for the images container","required":false},"onWriteReview":{"type":"object","description":"Callback when write review button is clicked","typeLabel":"() => void","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},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization configuration","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["reviews","testimonials","images","photos","helpful","voting","customer-photos","product-reviews","user-generated-content"],"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. Each item in the 'reviews' array requires a real 'rating' (1-5), 'title', 'content', and optionally 'author', 'date', 'verified', 'helpful' (helpful vote count), and 'images' (array of real review photo URLs). Do not fabricate 'rating', 'helpful' counts, 'verified' status, or review image URLs — only use real values from the system. Only set 'verified: true' if the purchase is genuinely verified in the system. Only populate 'images' with real review photo URLs from the media library. Supply 3-6 reviews. Follow the example props closely for this block."},{"id":"testimonials-bento-grid","name":"Testimonials Bento Grid","title":"Testimonials Bento Grid","category":"Testimonials","categorySlug":"testimonials","description":"A bento-style grid layout for testimonials with a featured testimonial spanning multiple rows. Cards display quotes with author avatars, names, roles, and decorative quote icons. The asymmetric grid creates visual interest while highlighting key testimonials. Ideal for landing pages and about sections.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293177/z66pvkg79bkry6qfj15zhknbms8f/cleanshot-2026-03-05-at-07-10-42.png","mobile":"https://cdn.ing/assets/i/r/293176/6dx4bdgluglzqgireiceyykojnd0/cleanshot-2026-03-05-at-07-10-55.png"},"componentPath":"blocks/testimonials/testimonials-bento-grid.tsx","code":"import { TestimonialsBentoGrid } from \"@opensite/ui/blocks/testimonials/testimonials-bento-grid\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsBentoGrid\n      heading=\"Trusted by Industry Leaders\"\n      description=\"See what our customers have to say about transforming their businesses\"\n      testimonials={[\n        {\n          quote:\n            \"This platform completely transformed how we approach customer engagement. The AI-powered insights have given us a competitive edge we didn't think possible. Our conversion rates have tripled, and customer retention is at an all-time high.\",\n          author: \"Alexandra Bennett\",\n          role: \"Chief Marketing Officer\",\n          company: \"Growth Dynamics\",\n          avatarSrc: imagePlaceholders[23],\n          featured: true,\n          linkConfig: {\n            href: \"#\",\n            label: \"Read Full Case Study\",\n          },\n        },\n        {\n          quote:\n            \"Implementation was seamless. The support team guided us every step, and we saw results within weeks.\",\n          author: \"James Wilson\",\n          role: \"Operations Director\",\n          company: \"Streamline Co\",\n          avatarSrc: imagePlaceholders[45],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"The ROI has been incredible. We've reduced operational costs by 35% while improving service quality.\",\n          author: \"Priya Sharma\",\n          role: \"CFO\",\n          company: \"FinTech Innovations\",\n          avatarSrc: imagePlaceholders[67],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"Our team loves the intuitive interface. Onboarding new members takes minutes instead of days.\",\n          author: \"Michael Torres\",\n          role: \"Engineering Lead\",\n          company: \"CodeCraft\",\n          avatarSrc: imagePlaceholders[89],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"The automation capabilities have freed up 20 hours per week for strategic work. Game changer.\",\n          author: \"Lisa Chang\",\n          role: \"Product Manager\",\n          company: \"InnovateTech\",\n          avatarSrc: imagePlaceholders[102],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"We've seen a complete transformation in how we serve our customers. Response times are down, satisfaction is up, and our team loves using it daily.\",\n          author: \"Dr. Rachel Foster\",\n          role: \"VP of Operations\",\n          company: \"CustomerFirst Inc\",\n          avatarSrc: imagePlaceholders[83],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n      ]}\n      background=\"gray\"\n      pattern=\"gridFadeTop\"\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"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},"featured":{"type":"boolean","description":"Whether this testimonial should be featured (larger card)","required":false}},"typeLabel":"BentoTestimonialItem"},"typeLabel":"BentoTestimonialItem[]","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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","required":false},"featuredCardClassName":{"type":"string","description":"Additional CSS classes for the featured card","required":false},"cardClassName":{"type":"string","description":"Additional CSS classes for regular cards","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","bento","grid","featured","quotes","social-proof","asymmetric","cards"],"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. Supply exactly 6 testimonials in the 'testimonials' array to fill the bento grid layout correctly; 6 is the canonical count used in the demo. Mark exactly one item with 'featured: true' — the featured card spans a larger cell and should carry the most compelling, longest quote. All 'quote', 'author', 'role', and 'company' values must come from real customer data; do not invent names or companies. Follow the example props closely for this block."},{"id":"testimonials-twitter-cards","name":"Testimonials Twitter/X Style Cards","title":"Testimonials Twitter Cards","category":"Testimonials","categorySlug":"testimonials","description":"A responsive grid of social media testimonial cards supporting multiple platforms (Twitter/X, Instagram, Facebook, LinkedIn, TikTok, YouTube, etc.). Each card displays post content, author avatar, display name, social handle, and links to the original post. The SocialLinkIcon automatically detects the platform from the URL and displays the appropriate brand icon. Cards feature hover effects transitioning to primary colors. Ideal for showcasing authentic social proof from real user posts across any social platform.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293665/vgx2hdr79r6jjz1p54n2g4ntxb8c/cleanshot-2026-03-10-at-10-41-00-2x.png","mobile":"https://cdn.ing/assets/i/r/293664/5xmuay6rfnzp24f2tp3u4wwdvjsf/cleanshot-2026-03-10-at-10-41-16-2x.png"},"componentPath":"blocks/testimonials/testimonials-twitter-cards.tsx","code":"import { TestimonialsTwitterCards } from \"@opensite/ui/blocks/testimonials/testimonials-twitter-cards\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsTwitterCards\n      heading=\"Buzz on Social Media\"\n      description=\"See what people are saying about us on social media. Real feedback from real users sharing their experiences and excitement about our product.\"\n      testimonials={[\n        {\n          content:\n            \"Just started using this platform and I'm blown away by how intuitive everything is. Game changer for my workflow! 🚀\",\n          author: \"Alexandra Martinez\",\n          handle: \"@alexmartinez\",\n          avatarSrc: imagePlaceholders[25],\n          linkConfig: {\n            href: \"https://twitter.com\",\n            label: \"View Post\",\n          },\n        },\n        {\n          content:\n            \"Best tool I've discovered this year. The team behind it really cares about user experience and it shows.\",\n          author: \"David Park\",\n          handle: \"@davidpark_dev\",\n          avatarSrc: imagePlaceholders[40],\n          linkConfig: {\n            href: \"https://twitter.com\",\n            label: \"View Post\",\n          },\n        },\n        {\n          content:\n            \"After trying 5 different solutions, this is the only one that actually works as advertised. Highly recommend! 💯\",\n          author: \"Sarah Williams\",\n          handle: \"@swilliams_tech\",\n          avatarSrc: imagePlaceholders[55],\n          linkConfig: {\n            href: \"https://instagram.com\",\n            label: \"View Post\",\n          },\n        },\n        {\n          content:\n            \"The customer support is phenomenal. Got a response within minutes and they walked me through everything. A+ service!\",\n          author: \"Marcus Johnson\",\n          handle: \"@marcusj\",\n          avatarSrc: imagePlaceholders[70],\n          linkConfig: {\n            href: \"https://facebook.com\",\n            label: \"View Post\",\n          },\n        },\n        {\n          content:\n            \"Finally, a product that delivers on performance promises. Been using it for 3 months and zero issues. Solid!\",\n          author: \"Jennifer Chen\",\n          handle: \"@jchen_designs\",\n          avatarSrc: imagePlaceholders[85],\n          linkConfig: {\n            href: \"https://linkedin.com\",\n            label: \"View Post\",\n          },\n        },\n        {\n          content:\n            \"The pricing is incredibly fair for what you get. ROI was clear within the first month. Great value! 👏\",\n          author: \"Robert Anderson\",\n          handle: \"@randerson_biz\",\n          avatarSrc: imagePlaceholders[100],\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=\"dark\"\n      pattern=\"gradientGlowBottom\"\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"testimonials":{"type":"array","description":"Array of social testimonials to display","items":{"type":"object","description":"","fields":{"content":{"type":"object","description":"post content","typeLabel":"React.ReactNode","required":true},"author":{"type":"object","description":"Author name","typeLabel":"React.ReactNode","required":false},"handle":{"type":"string","description":"social handle (e.g., \"@username\")","required":false},"avatarSrc":{"type":"string","description":"Author avatar image URL","required":false},"linkConfig":{"type":"object","description":"Link to the original post","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":"SocialTestimonialItem"},"typeLabel":"SocialTestimonialItem[]","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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","required":false},"cardClassName":{"type":"string","description":"Additional CSS classes for each card","required":false},"cardContentClassName":{"type":"string","description":"Additional CSS classes for the card content","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},"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","social-media","social-proof","cards","grid","twitter","instagram","facebook","linkedin","tiktok","youtube","reviews","user-generated-content","mentions","multi-platform"],"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 social media posts or testimonials in the system, DO NOT use this block. Each item in the 'testimonials' array is a 'SocialTestimonialItem' with 'content' (post text), 'author', 'handle' (e.g. '@username'), and optionally 'avatarSrc' and 'linkConfig' (a link to the original post). Only use real, verified social media post content and real handles — do not fabricate usernames, post content, or profile pictures. Supply 3-9 items; the demo uses 6. 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."},{"id":"testimonials-carousel-image","name":"Testimonials Full-Width Image Carousel","title":"Testimonials Carousel Image","category":"Testimonials","categorySlug":"testimonials","description":"A full-width testimonial carousel with background images and navigation controls. Each slide features a large background image with gradient overlay, quote text, and author information. Includes previous/next buttons and dot indicators for manual navigation. Ideal for hero sections or impactful testimonial displays.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293194/t8a2gjemxvt0eh6lapiaqogzb38i/cleanshot-2026-03-05-at-13-24-33.png","mobile":"https://cdn.ing/assets/i/r/293193/y4u74gf7ibce35efer986agbou0j/cleanshot-2026-03-05-at-13-24-45.png"},"componentPath":"blocks/testimonials/testimonials-carousel-image.tsx","code":"import { TestimonialsCarouselImage } from \"@opensite/ui/blocks/testimonials/testimonials-carousel-image\";\nimport { brandLogoPlaceholders, imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsCarouselImage\n      testimonials={[\n        {\n          quote:\n            \"This solution has completely transformed how our team collaborates. The seamless integration with our existing tools made adoption effortless.\",\n          author: \"Jennifer Martinez\",\n          role: \"VP of Product\",\n          company: \"CloudScale\",\n          backgroundImage: imagePlaceholders[12],\n          logoSrc: brandLogoPlaceholders.white[0],\n        },\n        {\n          quote:\n            \"We've seen a 200% increase in team productivity since implementing this platform. The ROI speaks for itself.\",\n          author: \"Robert Chen\",\n          role: \"Chief Technology Officer\",\n          company: \"NextGen Solutions\",\n          backgroundImage: imagePlaceholders[34],\n          logoSrc: brandLogoPlaceholders.white[1],\n        },\n        {\n          quote:\n            \"The customer support is exceptional. Every question is answered promptly, and the team genuinely cares about our success.\",\n          author: \"Amanda Foster\",\n          role: \"Director of Operations\",\n          company: \"Enterprise Dynamics\",\n          backgroundImage: imagePlaceholders[56],\n          logoSrc: brandLogoPlaceholders.white[2],\n        },\n        {\n          quote:\n            \"Security and compliance were our top concerns. This platform exceeded all expectations and passed our rigorous audits with flying colors.\",\n          author: \"Daniel Kim\",\n          role: \"Information Security Officer\",\n          company: \"SecureData Corp\",\n          backgroundImage: imagePlaceholders[78],\n          logoSrc: brandLogoPlaceholders.white[3],\n        },\n      ]}\n      height=\"h-[500px] md:h-[600px] lg:h-[700px]\"\n      overlayOpacity={0.6}\n      background=\"dark\"\n    />\n  );\n}","propsSchema":{"testimonials":{"type":"array","description":"Array of testimonials to display in the carousel","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},"backgroundImage":{"type":"string","description":"Background image URL for the slide","required":false}},"typeLabel":"CarouselTestimonialItem"},"typeLabel":"CarouselTestimonialItem[]","required":false},"testimonialsSlot":{"type":"object","description":"Custom slot for rendering testimonials (overrides testimonials array)","typeLabel":"React.ReactNode","required":false},"height":{"type":"string","description":"Height of the carousel section","required":false},"overlayOpacity":{"type":"number","description":"Overlay opacity (0-1)","required":false},"previousButtonAriaLabel":{"type":"string","description":"Aria label for the previous button","required":false},"nextButtonAriaLabel":{"type":"string","description":"Aria label for the next button","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content container","required":false},"quoteIconClassName":{"type":"string","description":"Additional CSS classes for the quote icon","required":false},"logoClassName":{"type":"string","description":"Additional CSS classes for the company logo","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},"navigationClassName":{"type":"string","description":"Additional CSS classes for the navigation container","required":false},"navButtonClassName":{"type":"string","description":"Additional CSS classes for the navigation buttons","required":false},"dotsClassName":{"type":"string","description":"Additional CSS classes for the dot indicators","required":false},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization configuration","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","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},"autoPlayInterval":{"type":"number","description":"Auto-play interval in milliseconds (0 to disable)","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","carousel","slider","images","full-width","hero","navigation","background-image"],"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. Each testimonial item requires a 'backgroundImage' (full-bleed slide background) and optionally a 'logoSrc' (company logo overlay) — DO NOT use this block if you do not have real background image URLs for each slide; fabricating image URLs will break the carousel. Supply 3-6 testimonials; the canonical demo uses 4. Only set 'logoSrc' if a real, verified company logo URL exists in the media library. Follow the example props closely for this block."},{"id":"testimonials-centered-avatars","name":"Testimonials Centered with Glassmorphism Card","title":"Testimonials Centered Avatars","category":"Testimonials","categorySlug":"testimonials","description":"A modern testimonial section featuring a glassmorphism card with frosted glass effect as the primary focal point. Displays an overlapping avatar stack at the top, creating a community feel, with rotating testimonials including quote, author name, role, and navigation dots. The translucent card design creates visual depth and sophistication. Perfect for SaaS landing pages and premium marketing sites.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293180/g3fawyyi234vufelc6qft22by0qp/cleanshot-2026-03-05-at-07-32-46.png","mobile":"https://cdn.ing/assets/i/r/293181/ufcy7rwi5suesfcid1adypnatiui/cleanshot-2026-03-05-at-07-32-28.png"},"componentPath":"blocks/testimonials/testimonials-centered-avatars.tsx","code":"import { TestimonialsCenteredAvatars } from \"@opensite/ui/blocks/testimonials/testimonials-centered-avatars\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsCenteredAvatars\n      badge=\"Customer Success Stories\"\n      heading=\"Trusted by Teams Worldwide\"\n      testimonials={[\n        {\n          quote:\n            \"The level of customization available is remarkable. We've tailored the platform to fit our unique workflow perfectly, and the results have exceeded all expectations.\",\n          author: \"Rachel Anderson\",\n          role: \"CEO\",\n          company: \"BuildRight Inc\",\n          avatarSrc: imagePlaceholders[18],\n        },\n        {\n          quote:\n            \"Our data analytics capabilities have transformed overnight. The insights dashboard provides actionable intelligence that drives real business decisions.\",\n          author: \"Kevin Patel\",\n          role: \"Head of Analytics\",\n          company: \"DataFirst\",\n          avatarSrc: imagePlaceholders[36],\n        },\n        {\n          quote:\n            \"The mobile experience is just as powerful as desktop. Our field teams can access everything they need on the go without any compromises.\",\n          author: \"Maria Santos\",\n          role: \"Field Operations Manager\",\n          company: \"ServiceMasters\",\n          avatarSrc: imagePlaceholders[54],\n        },\n        {\n          quote:\n            \"Integration with our CRM and project management tools was flawless. Everything syncs in real-time, keeping our entire organization aligned.\",\n          author: \"Thomas Wright\",\n          role: \"Systems Administrator\",\n          company: \"TechUnify\",\n          avatarSrc: imagePlaceholders[72],\n        },\n        {\n          quote:\n            \"The training resources and documentation are top-notch. Our team was up and running at full capacity within the first week.\",\n          author: \"Nicole Johnson\",\n          role: \"Training Director\",\n          company: \"LearnFast\",\n          avatarSrc: imagePlaceholders[90],\n        },\n      ]}\n      background=\"dark\"\n      pattern=\"squareAltGrid\"\n      patternOpacity={0.75}\n    />\n  );\n}","propsSchema":{"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},"badge":{"type":"object","description":"Badge/eyebrow content above title","typeLabel":"React.ReactNode","required":false},"heading":{"type":"object","description":"Main heading content","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content container","required":false},"badgeClassName":{"type":"string","description":"Additional CSS classes for the badge","required":false},"headingClassName":{"type":"string","description":"Additional CSS classes for the heading","required":false},"avatarsClassName":{"type":"string","description":"Additional CSS classes for the avatars container","required":false},"testimonialsClassName":{"type":"string","description":"Additional CSS classes for the testimonials list","required":false},"testimonialItemClassName":{"type":"string","description":"Additional CSS classes for each testimonial item","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 info","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","centered","avatars","stack","community","social-proof","glassmorphism","glass","frosted","modern","premium","rotating"],"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 displays testimonials in a stacked list with centered avatars as navigation tabs; supply 3-6 testimonials in the 'testimonials' array (the demo uses 5). Only set 'avatarSrc' if a real customer avatar URL is available; omit the field rather than guessing. Each 'quote', 'author', 'role', and 'company' must be real, verified customer data. Follow the example props closely for this block."},{"id":"testimonials-company-logo","name":"Testimonials with Company Logo","title":"Testimonials Company Logo","category":"Testimonials","categorySlug":"testimonials","description":"A single testimonial section featuring the company logo prominently, along with a large quote, author photo, and attribution. The layout emphasizes the company endorsement with logo placement and professional styling. Ideal for B2B landing pages and enterprise social proof.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293179/brr3x11dnz82h2i1wtkbdr9lzet8/cleanshot-2026-03-05-at-07-21-00.png","mobile":"https://cdn.ing/assets/i/r/293178/mceobxfea6868txh6j6if2rqb746/cleanshot-2026-03-05-at-07-21-18.png"},"componentPath":"blocks/testimonials/testimonials-company-logo.tsx","code":"import { TestimonialsCompanyLogo } from \"@opensite/ui/blocks/testimonials/testimonials-company-logo\";\nimport { imagePlaceholders, brandLogoPlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsCompanyLogo\n      testimonial={{\n        quote:\n          \"Partnering with this platform has been transformative for our organization. The enterprise features, security protocols, and dedicated support have enabled us to scale operations globally while maintaining the highest standards of data protection and compliance.\",\n        author: \"Dr. Catherine Wells\",\n        role: \"Chief Information Officer\",\n      }}\n      companyLogo={brandLogoPlaceholders.white[0]}\n      companyLogoAlt=\"Enterprise Client Logo\"\n      imageSrc={imagePlaceholders[25]}\n      imageAlt=\"Modern office space\"\n      background=\"gray\"\n      pattern=\"diagonalCrossBasic\"\n      patternOpacity={1}\n    />\n  );\n}","propsSchema":{"testimonial":{"type":"object","description":"Testimonial data using shared TestimonialItem type","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","required":false},"testimonialSlot":{"type":"object","description":"Custom slot for rendering testimonial (overrides testimonial prop)","typeLabel":"React.ReactNode","required":false},"companyLogo":{"type":"string","description":"Company logo image URL","required":false},"companyLogoAlt":{"type":"string","description":"Company logo alt text","required":false},"imageSrc":{"type":"string","description":"Featured image URL","required":false},"imageAlt":{"type":"string","description":"Featured image alt text","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content column","required":false},"logoClassName":{"type":"string","description":"Additional CSS classes for the company logo","required":false},"quoteClassName":{"type":"string","description":"Additional CSS classes for the quote","required":false},"authorClassName":{"type":"string","description":"Additional CSS classes for the author section","required":false},"imageClassName":{"type":"string","description":"Additional CSS classes for the image container","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},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization configuration","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","company","logo","enterprise","b2b","single","featured","corporate"],"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 features exactly 1 testimonial ('testimonial' is a single object, not an array) alongside a prominent company logo and a featured image. Only set 'companyLogo' if a real, verified company logo URL exists in the media library — do not fabricate logo URLs. Only set 'imageSrc' if a real image URL is available. The single testimonial's 'quote', 'author', 'role', and 'company' must all be real, verified data. Follow the example props closely for this block."},{"id":"testimonials-grid-add-review","name":"Testimonials Grid with Add Review Card","title":"Testimonials Grid Add Review","category":"Testimonials","categorySlug":"testimonials","description":"A testimonial grid featuring customer reviews alongside an 'Add Review' card with dashed border and plus icon. Each review card displays star ratings, quote, and author info. The add review card encourages user engagement. Perfect for product pages and community-driven platforms.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293667/f0pikmeb9eezcv6xm28kj6xyx1qu/cleanshot-2026-03-10-at-10-45-31-2x.png","mobile":"https://cdn.ing/assets/i/r/293666/l0asv65qty0ljm8fzuejrz9h9q07/cleanshot-2026-03-10-at-10-45-47-2x.png"},"componentPath":"blocks/testimonials/testimonials-grid-add-review.tsx","code":"import { TestimonialsGridAddReview } from \"@opensite/ui/blocks/testimonials/testimonials-grid-add-review\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsGridAddReview\n      heading=\"Customer Reviews\"\n      description=\"Join thousands of satisfied customers sharing their experiences\"\n      addReviewText=\"Write a Review\"\n      addReviewSubtext=\"Share your experience with us\"\n      reviews={[\n        {\n          rating: 5,\n          quote:\n            \"Exceptional quality and service. The product arrived exactly as described and exceeded my expectations. Would definitely recommend to anyone looking for reliability.\",\n          author: \"Michael Torres\",\n          avatarSrc: imagePlaceholders[31],\n        },\n        {\n          rating: 5,\n          quote:\n            \"Best purchase I've made this year. The attention to detail and customer support are unmatched. Worth every penny.\",\n          author: \"Sarah Mitchell\",\n          avatarSrc: imagePlaceholders[47],\n        },\n        {\n          rating: 4,\n          quote:\n            \"Great product overall. Installation was straightforward and it works as advertised. Only minor issue was shipping took longer than expected.\",\n          author: \"James Wilson\",\n          avatarSrc: imagePlaceholders[63],\n        },\n        {\n          rating: 5,\n          quote:\n            \"I've tried several similar products, and this one stands out for its quality and durability. Customer service was also very responsive.\",\n          author: \"Emily Chen\",\n          avatarSrc: imagePlaceholders[79],\n        },\n        {\n          rating: 5,\n          quote:\n            \"Absolutely love it! The design is sleek and modern, and it fits perfectly with my setup. Highly recommended for anyone hesitating.\",\n          author: \"Robert Anderson\",\n          avatarSrc: imagePlaceholders[95],\n        },\n      ]}\n      actions={[\n        {\n          label: \"Read All Reviews\",\n          href: \"#\",\n          variant: \"default\",\n          size: \"lg\",\n        },\n      ]}\n      onAddReview={() => console.log(\"Open review form\")}\n      background=\"dark\"\n      pattern=\"diagonalCrossFadeTop\"\n      patternOpacity={0.15}\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"reviews":{"type":"array","description":"Array of reviews 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},"reviewsSlot":{"type":"object","description":"Custom slot for rendering reviews (overrides reviews 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},"addReviewText":{"type":"object","description":"Text for the add review button","typeLabel":"React.ReactNode","required":false},"addReviewSubtext":{"type":"object","description":"Subtitle for the add review card","typeLabel":"React.ReactNode","required":false},"onAddReview":{"type":"object","description":"Callback when add review is clicked","typeLabel":"() => void","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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","required":false},"cardClassName":{"type":"string","description":"Additional CSS classes for each card","required":false},"addReviewCardClassName":{"type":"string","description":"Additional CSS classes for the add review card","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},"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},"quoteClassName":{"type":"string","description":"Additional CSS classes for the quote text","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","grid","add-review","interactive","ratings","stars","user-generated","engagement"],"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. Supply testimonials in the 'reviews' array using multiples of 3 (3, 6, or 9) to keep the 3-column grid balanced; the demo uses 5 with an 'add review' card occupying the sixth slot. Each review requires a 'rating' (real star rating, 1-5), a 'quote', and an 'author' — do not invent ratings or reviewer names. Do not set 'avatarSrc' unless a real avatar URL is available. 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."},{"id":"testimonials-marquee","name":"Testimonials Auto-Scrolling Marquee","title":"Testimonials Marquee","category":"Testimonials","categorySlug":"testimonials","description":"An auto-scrolling horizontal marquee of testimonial cards that creates continuous movement. Cards display quotes with author avatars and info. Configurable speed (slow/normal/fast) and pause-on-hover functionality. Creates dynamic visual interest and showcases many testimonials in limited space.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293196/rmfzexpuodqp5a55tx90xwq4nl0g/cleanshot-2026-03-05-at-13-26-51.png","mobile":"https://cdn.ing/assets/i/r/293195/ihsqd8kyqmyi2b7o9auolkzgog2w/cleanshot-2026-03-05-at-13-27-01.png"},"componentPath":"blocks/testimonials/testimonials-marquee.tsx","code":"import { TestimonialsMarquee } from \"@opensite/ui/blocks/testimonials/testimonials-marquee\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsMarquee\n      heading=\"Loved by Thousands Worldwide\"\n      description=\"Join our community of satisfied customers achieving remarkable results\"\n      testimonials={[\n        {\n          quote:\n            \"The level of support and attention to detail is unmatched. Every feature works flawlessly.\",\n          author: \"Alexandra Foster\",\n          role: \"Product Manager\",\n          company: \"InnovateTech\",\n          avatarSrc: imagePlaceholders[26],\n        },\n        {\n          quote:\n            \"We've tried many solutions, but this one actually delivers on its promises. Highly recommended!\",\n          author: \"Carlos Rodriguez\",\n          role: \"Operations Lead\",\n          company: \"Streamline Co\",\n          avatarSrc: imagePlaceholders[38],\n        },\n        {\n          quote:\n            \"Implementation was surprisingly smooth. The onboarding process made everything intuitive.\",\n          author: \"Emily Nakamura\",\n          role: \"Team Lead\",\n          company: \"ProductFlow\",\n          avatarSrc: imagePlaceholders[50],\n        },\n        {\n          quote:\n            \"Our productivity has doubled since adoption. The ROI speaks for itself.\",\n          author: \"Michael Bennett\",\n          role: \"Director of Operations\",\n          company: \"EfficiencyCo\",\n          avatarSrc: imagePlaceholders[62],\n        },\n        {\n          quote:\n            \"The platform scales beautifully with our growth. No performance degradation whatsoever.\",\n          author: \"Priya Sharma\",\n          role: \"Engineering Manager\",\n          company: \"ScaleUp Systems\",\n          avatarSrc: imagePlaceholders[74],\n        },\n        {\n          quote:\n            \"Customer success team goes above and beyond. They truly care about our outcomes.\",\n          author: \"Thomas Wright\",\n          role: \"VP Customer Success\",\n          company: \"GrowthMetrics\",\n          avatarSrc: imagePlaceholders[86],\n        },\n        {\n          quote:\n            \"The analytics dashboard provides insights we never knew we needed. Game changing.\",\n          author: \"Jennifer Kim\",\n          role: \"Data Analyst\",\n          company: \"InsightLabs\",\n          avatarSrc: imagePlaceholders[98],\n        },\n        {\n          quote:\n            \"Security audit passed with flying colors. Enterprise-grade protection that actually works.\",\n          author: \"David Martinez\",\n          role: \"Security Officer\",\n          company: \"SecureFirst\",\n          avatarSrc: imagePlaceholders[110],\n        },\n      ]}\n      speed=\"normal\"\n      pauseOnHover\n      background=\"dark\"\n      spacing=\"xl\"\n      pattern=\"dashedGridFadeTop\"\n      patternOpacity={0.15}\n    />\n  );\n}","propsSchema":{"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},"speed":{"type":"string","description":"Scroll speed","typeLabel":"\"slow\" | \"normal\" | \"fast\"","required":false},"pauseOnHover":{"type":"boolean","description":"Whether to pause on hover","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},"marqueeClassName":{"type":"string","description":"Additional CSS classes for the marquee container","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","marquee","scrolling","animation","horizontal","continuous","dynamic","cards"],"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 is a horizontally scrolling marquee; supply 6-12 testimonials in the 'testimonials' array to ensure smooth, continuous scrolling — too few items will create visible gaps. The demo uses 8. Each item requires a 'quote' and 'author'; 'role', 'company', and 'avatarSrc' are optional but enhance credibility. Do not fabricate any customer data. Follow the example props closely for this block."},{"id":"testimonials-simple-grid","name":"Testimonials Simple Grid","title":"Testimonials Simple Grid","category":"Testimonials","categorySlug":"testimonials","description":"A clean, straightforward grid of testimonial cards with configurable columns (2, 3, or 4). Each card displays a quote with author avatar, name, and role. The minimal design focuses on content without distractions. Ideal for any page requiring a clean testimonial display.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293669/2ro0bgdpbcthbt0aw6xm4nu0rxnc/cleanshot-2026-03-10-at-10-48-51-2x.png","mobile":"https://cdn.ing/assets/i/r/293668/79772z65izabq3khkxvfwe9moxrz/cleanshot-2026-03-10-at-10-49-03-2x.png"},"componentPath":"blocks/testimonials/testimonials-simple-grid.tsx","code":"import { TestimonialsSimpleGrid } from \"@opensite/ui/blocks/testimonials/testimonials-simple-grid\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsSimpleGrid\n      heading=\"Customer Stories\"\n      description=\"Hear from businesses that have transformed their operations with our platform\"\n      columns={3}\n      testimonials={[\n        {\n          quote:\n            \"The platform's intuitive design and powerful features have streamlined our entire workflow. Our team productivity increased by 40% in the first quarter.\",\n          author: \"Jennifer Martinez\",\n          role: \"Director of Operations\",\n          company: \"Streamline Solutions\",\n          avatarSrc: imagePlaceholders[21],\n        },\n        {\n          quote:\n            \"Outstanding support and reliable performance. The implementation team guided us every step of the way.\",\n          author: \"Michael Chen\",\n          role: \"CTO\",\n          company: \"TechVision\",\n          avatarSrc: imagePlaceholders[35],\n        },\n        {\n          quote:\n            \"We've seen measurable improvements in every key metric. The ROI has exceeded all expectations.\",\n          author: \"Sarah Williams\",\n          role: \"VP of Finance\",\n          company: \"GrowthMetrics\",\n          avatarSrc: imagePlaceholders[49],\n        },\n        {\n          quote:\n            \"The analytics capabilities have transformed our decision-making process. Highly recommend to any data-driven organization.\",\n          author: \"David Park\",\n          role: \"Head of Analytics\",\n          company: \"DataFirst\",\n          avatarSrc: imagePlaceholders[63],\n        },\n        {\n          quote:\n            \"Security features met our stringent enterprise requirements. The compliance team was thoroughly impressed.\",\n          author: \"Lisa Anderson\",\n          role: \"CISO\",\n          company: \"SecureCorp\",\n          avatarSrc: imagePlaceholders[77],\n        },\n        {\n          quote:\n            \"Seamless integration with our existing tech stack. No disruption, maximum value from day one.\",\n          author: \"Robert Zhang\",\n          role: \"Engineering Lead\",\n          company: \"IntegrateTech\",\n          avatarSrc: imagePlaceholders[91],\n        },\n      ]}\n      actions={[\n        {\n          label: \"Read All Reviews\",\n          href: \"#\",\n          variant: \"default\",\n          size: \"lg\",\n        },\n      ]}\n      background=\"gray\"\n      pattern=\"diagonalCrossFadeTop\"\n      patternOpacity={0.9}\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"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},"columns":{"type":"string","description":"Number of columns in the grid","typeLabel":"2 | 3 | 4","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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","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},"cardClassName":{"type":"string","description":"Additional CSS classes for each card","required":false},"cardContentClassName":{"type":"string","description":"Additional CSS classes for the card content","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","grid","simple","clean","minimal","cards","configurable","responsive"],"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. The 'columns' prop accepts 2, 3, or 4; ensure the 'testimonials' array length is a multiple of the chosen column count (e.g., multiples of 3 for a 3-column grid). The demo uses 3 columns with 6 testimonials. Each 'quote', 'author', 'role', 'company', and 'avatarSrc' must be real, verified data — only set 'avatarSrc' if a real image URL is available. 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."},{"id":"testimonials-slider-minimal","name":"Testimonials Minimal Auto-Rotating Slider","title":"Testimonials Slider Minimal","category":"Testimonials","categorySlug":"testimonials","description":"A minimal testimonial slider with smooth fade transitions and auto-rotation. Displays one testimonial at a time with quote, author info, and dot navigation indicators. Configurable auto-play interval. The clean design focuses attention on the testimonial content.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293198/lvo10y1ppui008im5h0b3lr366hj/cleanshot-2026-03-05-at-13-31-27.png","mobile":"https://cdn.ing/assets/i/r/293197/98yr8vx99649stjxuo60jbjsdcd4/cleanshot-2026-03-05-at-13-31-42.png"},"componentPath":"blocks/testimonials/testimonials-slider-minimal.tsx","code":"import { TestimonialsSliderMinimal } from \"@opensite/ui/blocks/testimonials/testimonials-slider-minimal\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsSliderMinimal\n      testimonials={[\n        {\n          quote:\n            \"A transformative solution that has fundamentally changed how we operate. The impact on our bottom line has been remarkable.\",\n          author: \"Dr. Elizabeth Foster\",\n          role: \"Chief Executive Officer\",\n          company: \"Innovation Group\",\n          avatarSrc: imagePlaceholders[41],\n        },\n        {\n          quote:\n            \"The platform's reliability and performance have been flawless. Zero downtime in six months of operation.\",\n          author: \"Michael Bennett\",\n          role: \"VP of Technology\",\n          company: \"ReliableTech\",\n          avatarSrc: imagePlaceholders[59],\n        },\n        {\n          quote:\n            \"Customer satisfaction scores improved dramatically after implementation. Our clients notice and appreciate the difference.\",\n          author: \"Sophia Rodriguez\",\n          role: \"Director of Customer Success\",\n          company: \"ServicePro Inc\",\n          avatarSrc: imagePlaceholders[77],\n        },\n      ]}\n      autoPlayInterval={46000}\n      background=\"dark\"\n      pattern=\"squareAltGrid\"\n      patternOpacity={0.5}\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"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},"autoPlayInterval":{"type":"number","description":"Auto-play interval in milliseconds (0 to disable)","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content container","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},"avatarClassName":{"type":"string","description":"Additional CSS classes for the avatar","required":false},"dotsClassName":{"type":"string","description":"Additional CSS classes for the dots navigation","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},"navButtonClassName":{"type":"string","description":"Additional CSS classes for the navigation buttons","required":false},"previousButtonAriaLabel":{"type":"string","description":"Aria label for the previous button","required":false},"nextButtonAriaLabel":{"type":"string","description":"Aria label for the next button","required":false},"navigationClassName":{"type":"string","description":"Additional CSS classes for the navigation container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","slider","minimal","auto-rotate","fade","transitions","single","clean"],"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 is a minimal full-width slider that shows one testimonial at a time; supply 3-6 testimonials in the 'testimonials' array (the demo uses 3). Each 'quote', 'author', 'role', 'company', and 'avatarSrc' must be real, verified customer data — only set 'avatarSrc' if a real image URL is available. Follow the example props closely for this block."},{"id":"testimonials-split-image","name":"Testimonials Split Layout with Image","title":"Testimonials Split Image","category":"Testimonials","categorySlug":"testimonials","description":"A split-screen testimonial layout with a large image on one side and quote content on the other. Configurable image position (left/right). Features decorative quote icon, large typography, and author attribution. Perfect for impactful single testimonial displays on landing pages.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293183/yl4ha8bq98w83kb8k84fms6eaz0l/cleanshot-2026-03-05-at-08-19-37.png","mobile":"https://cdn.ing/assets/i/r/293182/u9a9zo5gp8uxhnjakurz3bhezp3r/cleanshot-2026-03-05-at-08-19-55.png"},"componentPath":"blocks/testimonials/testimonials-split-image.tsx","code":"import { TestimonialsSplitImage } from \"@opensite/ui/blocks/testimonials/testimonials-split-image\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsSplitImage\n      testimonial={{\n        quote:\n          \"This platform represents everything we were looking for - powerful features, intuitive design, and exceptional performance. The transformation in our workflow has been nothing short of remarkable.\",\n        author: \"Dr. Jonathan Parker\",\n        role: \"Chief Technology Officer\",\n        company: \"TechVision Enterprises\",\n        avatarSrc: imagePlaceholders[46],\n      }}\n      imageSrc={imagePlaceholders[64]}\n      imageAlt=\"Modern office workspace\"\n      background=\"gray\"\n      pattern=\"diagonalCrossBasic\"\n      patternOpacity={0.9}\n      spacing=\"xl\"\n      imagePosition=\"right\"\n    />\n  );\n}","propsSchema":{"testimonial":{"type":"object","description":"Testimonial data using shared TestimonialItem type","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","required":false},"testimonialSlot":{"type":"object","description":"Custom slot for rendering testimonial (overrides testimonial prop)","typeLabel":"React.ReactNode","required":false},"imageSrc":{"type":"string","description":"Featured image URL","required":false},"imageAlt":{"type":"string","description":"Featured image alt text","required":false},"imagePosition":{"type":"string","description":"Position of the image relative to content","typeLabel":"\"left\" | \"right\"","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","required":false},"imageClassName":{"type":"string","description":"Additional CSS classes for the image container","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content container","required":false},"quoteIconClassName":{"type":"string","description":"Additional CSS classes for the quote icon","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},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization configuration","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","split","image","two-column","featured","large","hero","impactful"],"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 features exactly 1 testimonial ('testimonial' is a single object) displayed beside a large featured image. DO NOT use this block if you do not have a real 'imageSrc' URL from the media library — the image is the focal point of the layout and a missing or fabricated URL will break it. The single testimonial's 'quote', 'author', 'role', 'company', and 'avatarSrc' must all be real, verified data. Follow the example props closely for this 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."},{"id":"testimonials-wall-compact","name":"Testimonials Dense Wall","title":"Testimonials Wall Compact","category":"Testimonials","categorySlug":"testimonials","description":"A dense wall of compact testimonial cards displaying many testimonials in a masonry-like grid. Each card shows a short quote with author avatar, name, and optional badge. The compact format maximizes social proof by showing volume of positive feedback. Ideal for showcasing community support.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293671/dmdkv9lqbo8hcy50j7n9x9cu87n4/cleanshot-2026-03-10-at-10-50-22-2x.png","mobile":"https://cdn.ing/assets/i/r/293670/20xqbtt01t0ka0zie1i4ajwzxbk9/cleanshot-2026-03-10-at-10-50-33-2x.png"},"componentPath":"blocks/testimonials/testimonials-wall-compact.tsx","code":"import { TestimonialsWallCompact } from \"@opensite/ui/blocks/testimonials/testimonials-wall-compact\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsWallCompact\n      heading=\"Wall of Love\"\n      description=\"Thousands of users sharing their success stories\"\n      testimonials={[\n        {\n          quote: \"Amazing product! Changed our entire workflow.\",\n          author: \"Alex Thompson\",\n          handle: \"@alexthompson\",\n          avatarSrc: imagePlaceholders[20],\n          badge: \"Featured\",\n        },\n        {\n          quote: \"Best investment we made this quarter.\",\n          author: \"Maria Garcia\",\n          handle: \"@mariagarcia\",\n          avatarSrc: imagePlaceholders[28],\n        },\n        {\n          quote: \"Incredible support team. Always helpful!\",\n          author: \"James Lee\",\n          handle: \"@jameslee\",\n          avatarSrc: imagePlaceholders[36],\n          badge: \"Verified\",\n        },\n        {\n          quote: \"Exactly what we needed. Perfect solution!\",\n          author: \"Sarah Johnson\",\n          handle: \"@sarahj\",\n          avatarSrc: imagePlaceholders[44],\n        },\n        {\n          quote: \"Five stars! Highly recommend to everyone.\",\n          author: \"Michael Chen\",\n          handle: \"@mchen\",\n          avatarSrc: imagePlaceholders[52],\n        },\n        {\n          quote: \"Transformed our business operations completely.\",\n          author: \"Lisa Martinez\",\n          handle: \"@lisamartinez\",\n          avatarSrc: imagePlaceholders[60],\n          badge: \"Featured\",\n        },\n        {\n          quote: \"Intuitive design. Easy to learn and use.\",\n          author: \"David Park\",\n          handle: \"@davidpark\",\n          avatarSrc: imagePlaceholders[68],\n        },\n        {\n          quote: \"ROI was immediate. Worth every penny!\",\n          author: \"Jennifer Williams\",\n          handle: \"@jwilliams\",\n          avatarSrc: imagePlaceholders[76],\n        },\n        {\n          quote: \"Great features. Everything works flawlessly.\",\n          author: \"Robert Zhang\",\n          handle: \"@robertzhang\",\n          avatarSrc: imagePlaceholders[84],\n          badge: \"Verified\",\n        },\n        {\n          quote: \"Excellent value. Can't imagine working without it.\",\n          author: \"Emily Foster\",\n          handle: \"@emilyfoster\",\n          avatarSrc: imagePlaceholders[92],\n        },\n        {\n          quote: \"Outstanding performance and reliability.\",\n          author: \"Thomas Anderson\",\n          handle: \"@tanderson\",\n          avatarSrc: imagePlaceholders[100],\n        },\n        {\n          quote: \"Game changer for productivity. Highly effective!\",\n          author: \"Michelle Rodriguez\",\n          handle: \"@mrodriguez\",\n          avatarSrc: imagePlaceholders[108],\n          badge: \"Featured\",\n        },\n      ]}\n      actions={[\n        {\n          label: \"Read All Reviews\",\n          href: \"#\",\n          variant: \"default\",\n          size: \"lg\",\n        },\n      ]}\n      background=\"dark\"\n      pattern=\"diagonalCrossFadeTop\"\n      patternOpacity={0.15}\n    />\n  );\n}","propsSchema":{"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},"handle":{"type":"string","description":"Social media handle (e.g., \"@username\")","required":false},"badge":{"type":"object","description":"Badge text to display (e.g., \"Featured\", \"Verified\")","typeLabel":"React.ReactNode","required":false}},"typeLabel":"WallTestimonialItem"},"typeLabel":"WallTestimonialItem[]","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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","required":false},"cardClassName":{"type":"string","description":"Additional CSS classes for each card","required":false},"authorClassName":{"type":"string","description":"Additional CSS classes for the author section","required":false},"quoteClassName":{"type":"string","description":"Additional CSS classes for the quote text","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},"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","wall","compact","dense","masonry","volume","community","badges"],"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 is a dense wall-of-love layout; supply 9-12 testimonials in the 'testimonials' array (the demo uses 12) to achieve the full wall effect. Each item supports 'handle' (social media handle, e.g. '@username') and 'badge' (a label like 'Featured' or 'Verified') — only include real handles and only mark items as 'Verified' if they are genuinely verified in the system. All 'quote', 'author', and 'avatarSrc' values must be real, verified data. 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."},{"id":"testimonials-mini-dividers","name":"Testimonials Grid with Dividers","title":"Testimonials Mini Dividers","category":"Testimonials","categorySlug":"testimonials","description":"A testimonial grid with subtle dividers separating each card, creating a clean organized layout. Each card displays star ratings, quote, and author info with avatar. The dividers add structure while maintaining a minimal aesthetic. Perfect for professional service pages.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293657/ksl05gbam224oukgj6p7qhr7jxv9/cleanshot-2026-03-10-at-10-16-02-2x.png","mobile":"https://cdn.ing/assets/i/r/293656/hm0riu4mlqilkwj96ts5j27oq1qw/cleanshot-2026-03-10-at-10-16-11-2x.png"},"componentPath":"blocks/testimonials/testimonials-mini-dividers.tsx","code":"import { TestimonialsMiniDividers } from \"@opensite/ui/blocks/testimonials/testimonials-mini-dividers\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsMiniDividers\n      heading=\"Customer Feedback\"\n      description=\"Quick insights from our satisfied customers\"\n      testimonials={[\n        {\n          quote:\n            \"Exceptional quality and service. Exceeded all my expectations.\",\n          author: \"Alex Thompson\",\n          role: \"Product Manager\",\n          avatarSrc: imagePlaceholders[30],\n          rating: 5,\n        },\n        {\n          quote: \"Best purchase I've made this year. Highly recommend!\",\n          author: \"Maria Garcia\",\n          role: \"Design Lead\",\n          avatarSrc: imagePlaceholders[45],\n          rating: 5,\n        },\n        {\n          quote: \"The support team went above and beyond to help us succeed.\",\n          author: \"James Lee\",\n          role: \"Engineering Manager\",\n          avatarSrc: imagePlaceholders[60],\n          rating: 5,\n        },\n        {\n          quote:\n            \"Intuitive interface and powerful features. Perfect combination.\",\n          author: \"Sarah Williams\",\n          role: \"Operations Director\",\n          avatarSrc: imagePlaceholders[75],\n          rating: 4,\n        },\n        {\n          quote:\n            \"Transformed our workflow completely. Can't imagine working without it.\",\n          author: \"Michael Chen\",\n          role: \"CTO\",\n          avatarSrc: imagePlaceholders[90],\n          rating: 5,\n        },\n        {\n          quote: \"Excellent value for money. ROI was evident within weeks.\",\n          author: \"Lisa Anderson\",\n          role: \"CFO\",\n          avatarSrc: imagePlaceholders[105],\n          rating: 5,\n        },\n      ]}\n      background=\"dark\"\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"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":"MiniTestimonialItem"},"typeLabel":"MiniTestimonialItem[]","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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","required":false},"itemClassName":{"type":"string","description":"Additional CSS classes for each testimonial item","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","grid","dividers","organized","ratings","stars","clean","professional"],"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 lays out compact testimonials separated by dividers in a 3-column grid; supply testimonials in multiples of 3 (6, 9, or 12) for balanced rows — the demo uses 6. Each item supports an optional 'rating' (1-5) — only include real star ratings; do not fabricate ratings. Each 'quote', 'author', and 'role' must be real, verified data. Follow the example props closely for this block."},{"id":"testimonials-logo-cards","name":"Testimonials Cards with Company Logos","title":"Testimonials Logo Cards","category":"Testimonials","categorySlug":"testimonials","description":"Testimonial cards featuring company logos prominently in the header, with the first card spanning multiple columns for a featured effect. Each card displays the company logo, quote, and author info. Ideal for B2B testimonials where company endorsement is key.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293659/z6u0tbdiwahd2ue2je18ly2war57/cleanshot-2026-03-10-at-10-17-37-2x.png","mobile":"https://cdn.ing/assets/i/r/293658/b6orag6u6z52lvg8wvoov46fiznm/cleanshot-2026-03-10-at-10-17-53-2x.png"},"componentPath":"blocks/testimonials/testimonials-logo-cards.tsx","code":"import { TestimonialsLogoCards } from \"@opensite/ui/blocks/testimonials/testimonials-logo-cards\";\nimport { imagePlaceholders, brandLogoPlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsLogoCards\n      heading=\"Trusted by Industry Leaders\"\n      description=\"See how top companies are transforming their operations with our platform\"\n      testimonials={[\n        {\n          quote:\n            \"The platform has completely revolutionized our operational efficiency. We've seen measurable improvements across every metric that matters. The implementation team was exceptional, and the ongoing support has been world-class.\",\n          author: \"Rebecca Thompson\",\n          role: \"Chief Technology Officer\",\n          avatarSrc: imagePlaceholders[29],\n          companyLogo: brandLogoPlaceholders.black[0],\n          companyLogoAlt: \"TechCorp International\",\n        },\n        {\n          quote:\n            \"Outstanding reliability and performance. Our team adopted it instantly.\",\n          author: \"Marcus Lee\",\n          role: \"VP of Engineering\",\n          avatarSrc: imagePlaceholders[43],\n          companyLogo: brandLogoPlaceholders.black[1],\n          companyLogoAlt: \"CloudScale Solutions\",\n        },\n        {\n          quote:\n            \"Best investment we've made. ROI exceeded projections within three months.\",\n          author: \"Sarah Martinez\",\n          role: \"CFO\",\n          avatarSrc: imagePlaceholders[57],\n          companyLogo: brandLogoPlaceholders.black[2],\n          companyLogoAlt: \"Finance Dynamics\",\n        },\n        {\n          quote:\n            \"The analytics capabilities transformed our decision-making process entirely.\",\n          author: \"James Wilson\",\n          role: \"Data Director\",\n          avatarSrc: imagePlaceholders[71],\n          companyLogo: brandLogoPlaceholders.black[3],\n          companyLogoAlt: \"DataFirst Inc\",\n        },\n        {\n          quote:\n            \"Security features met our enterprise requirements without compromising usability.\",\n          author: \"Linda Chen\",\n          role: \"CISO\",\n          avatarSrc: imagePlaceholders[85],\n          companyLogo: brandLogoPlaceholders.black[4],\n          companyLogoAlt: \"SecureNet Corp\",\n        },\n      ]}\n      background=\"muted\"\n      pattern=\"circles\"\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"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},"companyLogo":{"type":"string","description":"Company logo image URL","required":false},"companyLogoAlt":{"type":"string","description":"Company logo alt text","required":false}},"typeLabel":"LogoTestimonialItem"},"typeLabel":"LogoTestimonialItem[]","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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","required":false},"cardClassName":{"type":"string","description":"Additional CSS classes for each card","required":false},"cardHeaderClassName":{"type":"string","description":"Additional CSS classes for the card header","required":false},"cardContentClassName":{"type":"string","description":"Additional CSS classes for the card content","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},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization configuration","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","logos","company","b2b","enterprise","featured","cards","corporate"],"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. Each item in the 'testimonials' array accepts a 'companyLogo' (URL) and 'companyLogoAlt' (alt text) — only populate these if a real, verified company logo URL exists in the media library; do not fabricate logo URLs or alt text. The grid renders in columns of 3; supply testimonials in multiples of 3 (3, 6, or 9) for a balanced layout (the demo uses 5 which wraps naturally). All 'quote', 'author', 'role', and 'company' data must be real. Follow the example props closely for this block."},{"id":"testimonials-quote-carousel","name":"Testimonials Quote Carousel","title":"Testimonials Quote Carousel","category":"Testimonials","categorySlug":"testimonials","description":"A carousel of testimonial quote cards using shadcn's Carousel component with navigation arrows. Each card features a large decorative quote mark, testimonial text, and author info. The carousel format allows browsing multiple testimonials in a compact space.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293677/kqdpl3kponqw9mleai5gnvp7g7ah/cleanshot-2026-03-10-at-11-15-36-2x.png","mobile":"https://cdn.ing/assets/i/r/293676/2sei7yt42ozped6akwjjkpedvppa/cleanshot-2026-03-10-at-11-15-45-2x.png"},"componentPath":"blocks/testimonials/testimonials-quote-carousel.tsx","code":"import { TestimonialsQuoteCarousel } from \"@opensite/ui/blocks/testimonials/testimonials-quote-carousel\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsQuoteCarousel\n      heading=\"Customer Reviews\"\n      description=\"Join thousands of satisfied customers sharing their experiences\"\n      testimonials={[\n        {\n          quote:\n            \"The platform's capabilities have exceeded every expectation. Our team productivity has soared, and the insights we're gaining are invaluable.\",\n          author: \"Christopher Williams\",\n          role: \"Head of Product\",\n          company: \"InnovateCo\",\n          avatarSrc: imagePlaceholders[37],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"Implementation was smooth, support was exceptional, and results were immediate. This is how enterprise software should work.\",\n          author: \"Diana Martinez\",\n          role: \"VP of Engineering\",\n          company: \"ScaleUp Systems\",\n          avatarSrc: imagePlaceholders[62],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"We've tried many solutions over the years. This is the first one that truly delivers on performance, security, and ease of use simultaneously.\",\n          author: \"Benjamin Lee\",\n          role: \"Chief Information Officer\",\n          company: \"Enterprise Solutions\",\n          avatarSrc: imagePlaceholders[87],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"The ROI became evident within weeks. Our operational costs dropped while service quality improved dramatically. A rare win-win scenario.\",\n          author: \"Amanda Foster\",\n          role: \"CFO\",\n          company: \"GrowthMetrics\",\n          avatarSrc: imagePlaceholders[104],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n      ]}\n      background=\"secondary\"\n      pattern=\"gridDotsFadeCenter\"\n      patternOpacity={0.33}\n      spacing=\"lg\"\n    />\n  );\n}","propsSchema":{"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},"carouselClassName":{"type":"string","description":"Additional CSS classes for the carousel container","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},"navigationClassName":{"type":"string","description":"Additional CSS classes for the navigation buttons","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","carousel","quotes","navigation","arrows","cards","browsable","compact"],"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 renders testimonials in a horizontally scrolling carousel of cards; supply 3-6 testimonials in the 'testimonials' array (the demo uses 4). Each 'quote', 'author', 'role', 'company', and 'avatarSrc' must be real, verified data — do not fabricate avatar URLs. Follow the example props closely for this block."},{"id":"testimonials-animated-split","name":"Testimonials Animated Split Screen","title":"Testimonials Animated Split","category":"Testimonials","categorySlug":"testimonials","description":"An animated split-screen testimonial section using Framer Motion for smooth transitions. Features a large image on one side with quote and author info on the other. Includes auto-play, navigation buttons, and dot indicators. Creates an engaging, premium testimonial experience.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293173/ldp959cq4ubmgjb849pxdm3a0mkl/cleanshot-2026-03-05-at-06-07-15.png","mobile":"https://cdn.ing/assets/i/r/293172/ssorccfem8v4uxxetrcubyolcua1/cleanshot-2026-03-05-at-06-07-30.png"},"componentPath":"blocks/testimonials/testimonials-animated-split.tsx","code":"import { TestimonialsAnimatedSplit } from \"@opensite/ui/blocks/testimonials/testimonials-animated-split\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsAnimatedSplit\n      testimonials={[\n        {\n          quote:\n            \"Implementing this platform has revolutionized how we handle client communications. The response time improvement alone has justified the investment tenfold.\",\n          author: \"Sarah Chen\",\n          role: \"VP of Operations\",\n          company: \"TechFlow Solutions\",\n          avatarSrc: imagePlaceholders[42],\n          image: imagePlaceholders[15],\n        },\n        {\n          quote:\n            \"Our team productivity increased by 40% in the first quarter. The intuitive interface and powerful features make complex workflows feel effortless.\",\n          author: \"Marcus Johnson\",\n          role: \"Director of Engineering\",\n          company: \"Innovate Labs\",\n          avatarSrc: imagePlaceholders[51],\n          image: imagePlaceholders[28],\n        },\n        {\n          quote:\n            \"The analytics dashboard gives us insights we never had before. Data-driven decision making has become our competitive advantage.\",\n          author: \"Emily Rodriguez\",\n          role: \"Chief Strategy Officer\",\n          company: \"DataVision Inc\",\n          avatarSrc: imagePlaceholders[67],\n          image: imagePlaceholders[39],\n        },\n        {\n          quote:\n            \"Customer satisfaction scores jumped from 3.8 to 4.7 stars within months. The automation features free up our team to focus on what truly matters.\",\n          author: \"David Park\",\n          role: \"Head of Customer Success\",\n          company: \"ServicePro\",\n          avatarSrc: imagePlaceholders[88],\n          image: imagePlaceholders[54],\n        },\n      ]}\n      // autoPlayInterval={7000}\n      background=\"dark\"\n      spacing=\"xl\"\n      pattern=\"diagonalCrossFadeTopRight\"\n      patternOpacity={0.15}\n    />\n  );\n}","propsSchema":{"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},"image":{"type":"string","description":"Image URL for the testimonial","required":false}},"typeLabel":"AnimatedSplitTestimonialItem"},"typeLabel":"AnimatedSplitTestimonialItem[]","required":false},"testimonialsSlot":{"type":"object","description":"Custom slot for rendering testimonials (overrides testimonials array)","typeLabel":"React.ReactNode","required":false},"autoPlayInterval":{"type":"number","description":"Auto-play interval in milliseconds (0 to disable)","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"imageClassName":{"type":"string","description":"Additional CSS classes for the image container","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content container","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},"navigationClassName":{"type":"string","description":"Additional CSS classes for the navigation controls","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},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization config","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","animated","split","framer-motion","transitions","premium","interactive","auto-play"],"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 is a carousel-style block that animates between testimonials; supply 3-6 testimonials in the 'testimonials' array. Each item requires a 'quote', 'author', and optionally 'role', 'company', 'avatarSrc', and 'image' (a full-bleed background image shown alongside the quote) — only populate 'image' if a real image URL is available in the media library for that customer. Do not fabricate avatar URLs or background images. Follow the example props closely for this block."},{"id":"testimonials-scrolling-columns","name":"Testimonials Animated Scrolling Columns","title":"Testimonials Scrolling Columns","category":"Testimonials","categorySlug":"testimonials","description":"An animated testimonial section with staggered card animations powered by Framer Motion. Features large image cards with gradient overlays and quote content positioned at the bottom. Cards animate into view with a staggered effect as they enter the viewport. Ideal for visually rich testimonial sections.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293680/cr5itwci2y5w5dqb23j19tmc5xe4/cleanshot-2026-03-10-at-11-16-42-2x.png","mobile":"https://cdn.ing/assets/i/r/293681/5kg2gu0xc76qifs26hj3g02oh1vv/cleanshot-2026-03-10-at-11-16-56-2x.png"},"componentPath":"blocks/testimonials/testimonials-scrolling-columns.tsx","code":"import { TestimonialsScrollingColumns } from \"@opensite/ui/blocks/testimonials/testimonials-scrolling-columns\";\nimport { brandLogoPlaceholders, imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsScrollingColumns\n      heading=\"What Our Customers Are Saying\"\n      description=\"Real stories from businesses transforming their operations\"\n      testimonials={[\n        {\n          quote:\n            \"Exceptional platform with outstanding results. Our team's efficiency increased by 45% in the first quarter alone.\",\n          author: \"Nicole Anderson\",\n          role: \"Operations Director\",\n          avatarSrc: imagePlaceholders[19],\n          imageSrc: imagePlaceholders[44],\n          logoSrc: brandLogoPlaceholders.white[5],\n          linkConfig: {\n            href: \"#\",\n            label: \"Full Review\",\n          },\n        },\n        {\n          quote:\n            \"The customer support team is incredibly responsive and knowledgeable. They truly care about our success.\",\n          author: \"Marcus Chen\",\n          role: \"IT Manager\",\n          avatarSrc: imagePlaceholders[31],\n          logoSrc: brandLogoPlaceholders.white[4],\n          imageSrc: imagePlaceholders[31],\n          linkConfig: {\n            href: \"#\",\n            label: \"Full Review\",\n          },\n        },\n        {\n          quote:\n            \"Integration was seamless. We were up and running in days instead of weeks. Impressive!\",\n          author: \"Sarah Thompson\",\n          role: \"CTO\",\n          avatarSrc: imagePlaceholders[43],\n          imageSrc: imagePlaceholders[43],\n          logoSrc: brandLogoPlaceholders.white[3],\n          linkConfig: {\n            href: \"#\",\n            label: \"Full Review\",\n          },\n        },\n        {\n          quote:\n            \"The analytics dashboard provides insights that drive real business value. We make better decisions faster now.\",\n          author: \"James Rodriguez\",\n          role: \"Head of Analytics\",\n          avatarSrc: imagePlaceholders[55],\n          imageSrc: imagePlaceholders[55],\n          logoSrc: brandLogoPlaceholders.white[2],\n          linkConfig: {\n            href: \"#\",\n            label: \"Full Review\",\n          },\n        },\n        {\n          quote:\n            \"Security features met all our enterprise requirements without compromising usability. Perfect balance.\",\n          author: \"Linda Park\",\n          role: \"CISO\",\n          avatarSrc: imagePlaceholders[67],\n          imageSrc: imagePlaceholders[17],\n          logoSrc: brandLogoPlaceholders.white[1],\n          linkConfig: {\n            href: \"#\",\n            label: \"Full Review\",\n          },\n        },\n        {\n          quote:\n            \"Best tool we've implemented in years. The entire team adopted it enthusiastically from day one.\",\n          author: \"David Martinez\",\n          role: \"Team Lead\",\n          avatarSrc: imagePlaceholders[79],\n          imageSrc: imagePlaceholders[19],\n          logoSrc: brandLogoPlaceholders.white[0],\n          linkConfig: {\n            href: \"#\",\n            label: \"Full Review\",\n          },\n        },\n      ]}\n      background=\"dark\"\n      pattern=\"diagonalCrossBasic\"\n      patternOpacity={0.1}\n      spacing=\"xl\"\n    />\n  );\n}","propsSchema":{"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},"imageSrc":{"type":"string","description":"Image URL for the testimonial card","required":false}},"typeLabel":"ScrollingColumnTestimonialItem"},"typeLabel":"ScrollingColumnTestimonialItem[]","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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","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},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization config","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","animated","scrolling","framer-motion","staggered","images","gradient","viewport"],"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 displays testimonials across vertically scrolling columns; supply 6-12 testimonials in the 'testimonials' array (the demo uses 6) to ensure smooth scrolling. Each item supports 'imageSrc' (a card image) and 'logoSrc' (a company logo) — only populate these if real URLs exist in the media library; do not fabricate image or logo URLs. All 'quote', 'author', 'role', and 'company' values must be real, verified customer data. Follow the example props closely for this block."},{"id":"testimonials-minimal-numbered","name":"Testimonials Minimal with Large Numbers","title":"Testimonials Minimal Numbered","category":"Testimonials","categorySlug":"testimonials","description":"A minimal testimonial slider featuring large numbered indicators (01, 02, 03) that transition with the content. Displays one testimonial at a time with smooth fade transitions, author information with avatar, and navigation controls. The oversized numbers create a distinctive visual element.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293661/ay8jhabbx2y3gxcikdbzbdabkfoq/cleanshot-2026-03-10-at-10-22-18-2x.png","mobile":"https://cdn.ing/assets/i/r/293660/k980x6yjrieuvb6u54fgkkwrf9g7/cleanshot-2026-03-10-at-10-22-33-2x.png"},"componentPath":"blocks/testimonials/testimonials-minimal-numbered.tsx","code":"import { TestimonialsMinimalNumbered } from \"@opensite/ui/blocks/testimonials/testimonials-minimal-numbered\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsMinimalNumbered\n      testimonials={[\n        {\n          quote:\n            \"The platform has completely transformed how we approach our business operations. Every feature is thoughtfully designed and the performance is exceptional.\",\n          author: \"Dr. Catherine Foster\",\n          role: \"CEO\",\n          company: \"Innovation Labs\",\n          avatarSrc: imagePlaceholders[34],\n        },\n        {\n          quote:\n            \"We've tried many solutions over the years, but this is the only one that truly delivered on its promises. The team's dedication to excellence shows in every detail.\",\n          author: \"Marcus Rodriguez\",\n          role: \"VP of Engineering\",\n          company: \"TechScale\",\n          avatarSrc: imagePlaceholders[52],\n        },\n        {\n          quote:\n            \"What impressed us most was the seamless integration with our existing systems. No disruption, just immediate value from day one.\",\n          author: \"Jennifer Kim\",\n          role: \"IT Director\",\n          company: \"Enterprise Solutions\",\n          avatarSrc: imagePlaceholders[70],\n        },\n        {\n          quote:\n            \"The analytics capabilities alone have transformed our decision-making process. We now have insights we never knew were possible.\",\n          author: \"Robert Zhang\",\n          role: \"Head of Data\",\n          company: \"DataFirst Corp\",\n          avatarSrc: imagePlaceholders[88],\n        },\n      ]}\n      autoPlayInterval={10000}\n      pattern=\"squareAltGrid\"\n      patternOpacity={0.5}\n      background=\"muted\"\n    />\n  );\n}","propsSchema":{"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},"autoPlayInterval":{"type":"number","description":"Auto-play interval in milliseconds (0 to disable)","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content container","required":false},"numberClassName":{"type":"string","description":"Additional CSS classes for the number indicator","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},"navigationClassName":{"type":"string","description":"Additional CSS classes for the navigation controls","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","minimal","numbered","slider","large-numbers","transitions","navigation","distinctive"],"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 auto-plays through numbered testimonials one at a time; supply 3-6 testimonials in the 'testimonials' array (the demo uses 4). Each 'quote', 'author', 'role', and 'company' must be real, verified customer data. Do not fabricate avatar URLs — only set 'avatarSrc' if a real image URL is available in the media library. Follow the example props closely for this block."},{"id":"testimonials-parallax-number","name":"Testimonials Parallax Number Effect","title":"Testimonials Parallax Number","category":"Testimonials","categorySlug":"testimonials","description":"A premium testimonial section featuring an oversized animated number with parallax mouse-tracking effect. The large index number responds to mouse movement, creating depth. Includes a vertical progress indicator, company badge, word-by-word quote animation, and smooth navigation controls. Perfect for high-end landing pages.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293663/681vjekdt2ktlya3ozadxnnhb2k4/cleanshot-2026-03-10-at-10-23-29-2x.png","mobile":"https://cdn.ing/assets/i/r/293662/udsyztauu7xrp4zhtfvx7wdvoqxw/cleanshot-2026-03-10-at-10-23-37-2x.png"},"componentPath":"blocks/testimonials/testimonials-parallax-number.tsx","code":"import { TestimonialsParallaxNumber } from \"@opensite/ui/blocks/testimonials/testimonials-parallax-number\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsParallaxNumber\n      testimonials={[\n        {\n          quote:\n            \"This platform has revolutionized our business operations. The results speak for themselves - increased productivity, reduced costs, and happier team members.\",\n          author: \"Victoria Chen\",\n          role: \"CEO & Founder\",\n          company: \"Innovation Dynamics\",\n          avatarSrc: imagePlaceholders[33],\n          backgroundIcon: \"lucide/rocket\",\n        },\n        {\n          quote:\n            \"The level of innovation and attention to detail is unmatched. Every feature works seamlessly, and the performance is exceptional under any workload.\",\n          author: \"Alexander Martinez\",\n          role: \"CTO\",\n          company: \"TechForward\",\n          avatarSrc: imagePlaceholders[58],\n          backgroundIcon: \"mdi/graph\",\n        },\n        {\n          quote:\n            \"We've seen a complete transformation in how we serve our customers. Response times are down, satisfaction is up, and our team loves using it daily.\",\n          author: \"Dr. Rachel Foster\",\n          role: \"VP of Operations\",\n          company: \"CustomerFirst Inc\",\n          avatarSrc: imagePlaceholders[83],\n          backgroundIcon: \"lucide/thumbs-up\",\n          backgroundLabel: \"Yep\",\n        },\n      ]}\n      verticalLabel=\"Reviews\"\n      autoPlayInterval={1500000}\n      background=\"dark\"\n      pattern=\"gridFadeCenter\"\n      patternOpacity={0.15}\n      spacing=\"xl\"\n    />\n  );\n}","propsSchema":{"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},"backgroundIcon":{"type":"string","description":"Giant background icon name displayed behind the testimonial content (e.g. \"material-symbols/award-star-outline\").\nWhen not provided, no background icon is rendered.","required":false},"backgroundLabel":{"type":"object","description":"Giant background text label displayed behind the testimonial content (e.g. \"01\", \"A+\").\nOnly used when `backgroundIcon` is not provided.","typeLabel":"React.ReactNode","required":false}},"typeLabel":"TestimonialParallaxItem"},"typeLabel":"TestimonialParallaxItem[]","required":false},"testimonialsSlot":{"type":"object","description":"Custom slot for rendering testimonials (overrides testimonials array)","typeLabel":"React.ReactNode","required":false},"autoPlayInterval":{"type":"number","description":"Auto-play interval in milliseconds (0 to disable)","required":false},"verticalLabel":{"type":"object","description":"Vertical text label displayed on the side","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content container","required":false},"numberClassName":{"type":"string","description":"Additional CSS classes for the number indicator","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},"navigationClassName":{"type":"string","description":"Additional CSS classes for the navigation controls","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","parallax","animated","premium","mouse-tracking","framer-motion","interactive","high-end"],"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 cycles through testimonials with a large parallax background icon or label; supply 3-6 testimonials in the 'testimonials' array (the demo uses 3). Each item supports 'backgroundIcon' (an icon name string, e.g. 'lucide/rocket') or 'backgroundLabel' (a large decorative text label like '01') — these are decorative only and do not need to come from customer data, but the 'quote', 'author', 'role', and 'company' must all be real, verified values. Follow the example props closely for this block."},{"id":"testimonials-masonry-grid","name":"Testimonials Masonry Grid","title":"Testimonials Masonry Grid","category":"Testimonials","categorySlug":"testimonials","description":"A masonry-style grid layout for testimonials with varying card heights based on content length. Cards are distributed across columns creating an organic, Pinterest-like layout. Each card displays a quote with author avatar, name, and role. Ideal for showcasing testimonials of varying lengths.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293673/1gb2ap7mluissn4odiwkrcqanuiy/cleanshot-2026-03-10-at-11-13-04-2x.png","mobile":"https://cdn.ing/assets/i/r/293672/s4uykacqph7ys3irrnfpbjlo4xdc/cleanshot-2026-03-10-at-11-13-17-2x.png"},"componentPath":"blocks/testimonials/testimonials-masonry-grid.tsx","code":"import { TestimonialsMasonryGrid } from \"@opensite/ui/blocks/testimonials/testimonials-masonry-grid\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsMasonryGrid\n      heading=\"Community Testimonials\"\n      description=\"Real feedback from real users making an impact\"\n      testimonials={[\n        {\n          quote:\n            \"This has completely transformed how we approach our daily workflows. The efficiency gains are remarkable.\",\n          author: \"Rachel Anderson\",\n          role: \"Operations Manager\",\n          avatarSrc: imagePlaceholders[24],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"Best tool we've implemented this year. The team loves it, and the results are undeniable. Five stars across the board!\",\n          author: \"Marcus Johnson\",\n          role: \"Team Lead\",\n          avatarSrc: imagePlaceholders[36],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"Simple yet powerful. Exactly what we needed without unnecessary complexity.\",\n          author: \"Lisa Chen\",\n          role: \"Product Designer\",\n          avatarSrc: imagePlaceholders[48],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"The customer support is phenomenal. Every question answered promptly and thoroughly. They genuinely care about our success.\",\n          author: \"David Park\",\n          role: \"CTO\",\n          avatarSrc: imagePlaceholders[60],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"We've seen a 300% improvement in key metrics. The analytics alone are worth the investment.\",\n          author: \"Sarah Williams\",\n          role: \"Analytics Lead\",\n          avatarSrc: imagePlaceholders[72],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"Integration with our existing tools was seamless. No disruption to ongoing projects.\",\n          author: \"Kevin Torres\",\n          role: \"IT Director\",\n          avatarSrc: imagePlaceholders[84],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"The mobile experience matches desktop functionality perfectly. Our field team can work from anywhere without limitations.\",\n          author: \"Amanda Foster\",\n          role: \"Field Operations\",\n          avatarSrc: imagePlaceholders[96],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"Security features exceeded our enterprise requirements. Passed all audits effortlessly.\",\n          author: \"Robert Zhang\",\n          role: \"Security Architect\",\n          avatarSrc: imagePlaceholders[108],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n        {\n          quote:\n            \"Worth every penny. The ROI became evident within weeks of implementation.\",\n          author: \"Michelle Rodriguez\",\n          role: \"CFO\",\n          avatarSrc: imagePlaceholders[32],\n          linkConfig: {\n            href: \"#\",\n            label: \"Read More\",\n          },\n        },\n      ]}\n      actions={[\n        {\n          label: \"Read All Reviews\",\n          href: \"#\",\n          variant: \"default\",\n          size: \"lg\",\n        },\n      ]}\n      background=\"gray\"\n      pattern=\"gridFadeTop\"\n      patternOpacity={0.9}\n    />\n  );\n}","propsSchema":{"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},"gridClassName":{"type":"string","description":"Additional CSS classes for the grid container","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},"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","masonry","grid","pinterest","organic","varying-heights","cards","layout"],"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 renders testimonials in a masonry layout across 3 columns; supply testimonials in multiples of 3 (6, 9, or 12) for visual balance — the demo uses 9. Each 'quote', 'author', 'role', and 'company' must be real, verified customer data; do not invent names, companies, or reviews. 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."},{"id":"testimonials-large-quote","name":"Testimonials Large Centered Quote","title":"Testimonials Large Quote","category":"Testimonials","categorySlug":"testimonials","description":"A centered, single testimonial section featuring an oversized quote with decorative quote icons. The large typography creates visual impact while the centered layout draws focus to the testimonial content. Includes author avatar, name, role, and company. Perfect for hero sections or impactful single testimonials.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/293649/0tx6o4za4zrib4kpvne27hf6elbh/cleanshot-2026-03-10-at-08-19-19-2x.png","mobile":"https://cdn.ing/assets/i/r/293648/itojcq3lqfk7tgvidkpdk96mb6h3/cleanshot-2026-03-10-at-08-19-32-2x.png"},"componentPath":"blocks/testimonials/testimonials-large-quote.tsx","code":"import { TestimonialsLargeQuote } from \"@opensite/ui/blocks/testimonials/testimonials-large-quote\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <TestimonialsLargeQuote\n      testimonial={{\n        quote:\n          \"This platform has revolutionized how we approach our business operations. The impact on our team's productivity and morale has been extraordinary.\",\n        author: \"Victoria Reynolds\",\n        role: \"Founder & CEO\",\n        company: \"NextWave Ventures\",\n        avatarSrc: imagePlaceholders[48],\n      }}\n      background=\"gradient\"\n      spacing=\"xl\"\n      pattern=\"gridFadeTop\"\n      patternOpacity={0.15}\n    />\n  );\n}","propsSchema":{"testimonial":{"type":"object","description":"Testimonial data using shared TestimonialItem type","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","required":false},"testimonialSlot":{"type":"object","description":"Custom slot for rendering testimonial (overrides testimonial prop)","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content container","required":false},"quoteIconClassName":{"type":"string","description":"Additional CSS classes for the quote icon","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},"avatarClassName":{"type":"string","description":"Additional CSS classes for the avatar","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["testimonials","large","centered","quote","single","hero","impactful","typography"],"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 renders exactly 1 testimonial ('testimonial' is a single object); supply only one 'quote', 'author', 'role', 'company', and optionally 'avatarSrc'. The quote is displayed at large display size — use a strong, concise testimonial of no more than 200 characters for best visual impact. Only set 'avatarSrc' if a real avatar image URL exists in the media library. Follow the example props closely for this block."}]},"timestamp":"2026-05-13T10:12:11.957Z"}