{"success":true,"data":{"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."}},"timestamp":"2026-05-13T10:41:15.913Z"}