{"success":true,"data":{"block":{"id":"interior-carousel","name":"Interior Carousel","title":"Interior Carousel","category":"Gallery","categorySlug":"gallery","description":"A looping two-up carousel layout with semi-transparent navigation overlays. Features portrait images displayed two at a time with elegant navigation controls. Ideal for interior design galleries, real estate showcases, product photography, or any content that benefits from side-by-side image comparison.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290099/v75yv76yb2sgpm20w0cd948lkoia/interior-carousel-desktop.png","mobile":"https://cdn.ing/assets/i/r/290098/q9e017uqy9yd4rnjhmujwdh59g9h/interior-carousel-mobile.png"},"componentPath":"blocks/gallery/interior-carousel.tsx","code":"import { InteriorCarousel } from \"@opensite/ui/blocks/gallery/interior-carousel\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <InteriorCarousel\n      heading=\"Interior Design Showcase\"\n      description=\"Explore our collection of beautifully designed spaces that blend functionality with aesthetics. From modern minimalism to classic elegance.\"\n      images={[\n        imagePlaceholders[120],\n        imagePlaceholders[121],\n        imagePlaceholders[122],\n        imagePlaceholders[123],\n        imagePlaceholders[124],\n        imagePlaceholders[125],\n        imagePlaceholders[126],\n        imagePlaceholders[127],\n      ]}\n      loop={true}\n      background=\"gray\"\n      spacing=\"pt-10 pb-20 md:pt-32 md:pb-32\"\n      pattern=\"gridFadeTop\"\n      patternOpacity={1}\n    />\n  );\n}","propsSchema":{"heading":{"type":"object","description":"Main heading content","typeLabel":"React.ReactNode","required":false},"description":{"type":"object","description":"Description text (supports newlines for multi-line display)","typeLabel":"React.ReactNode","required":false},"images":{"type":"array","description":"Array of images to display (can be strings or objects)","items":{"type":"object","description":"","typeLabel":"string | InteriorCarouselImage"},"typeLabel":"string | InteriorCarouselImage[]","required":false},"imagesSlot":{"type":"object","description":"Custom slot for rendering images (overrides images array)","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the section","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 wrapper","required":false},"carouselContentClassName":{"type":"string","description":"Additional CSS classes for the carousel content","required":false},"itemClassName":{"type":"string","description":"Additional CSS classes for each carousel item","required":false},"imageClassName":{"type":"string","description":"Additional CSS classes for each image","required":false},"controlsClassName":{"type":"string","description":"Additional CSS classes for the navigation controls","required":false},"loop":{"type":"boolean","description":"Whether to loop the carousel","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},"patternClassName":{"type":"string","description":"Additional CSS classes for the pattern overlay","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},"sectionId":{"type":"string","description":"Optional Section ID","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["gallery","carousel","interior","two-up","portrait","real-estate","design","comparison"],"performance":{},"importantUsageNotes":"DO NOT USE this block unless you have at least 4 real images from the site's media library. Provide 4-8 images in the 'images' array; the demo uses 8. All image values must be real URLs from the media library — do not use placeholder or invented URLs. Follow the example props closely for this block."}},"timestamp":"2026-05-13T10:39:00.348Z"}