{"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\";\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        \"https://cdn.ing/assets/i/r/289134/pq7xx1m5piaai94v56e8kpt5rc7m/luxury-champagne-wall-with-ambient-sconce-lighting.jpg\",\n        \"https://cdn.ing/assets/i/r/289135/r0s7nf2ywu133hpy6hcbt74i8htg/espresso-martini-served-at-moody-bar-with-coffee-beans.jpg\",\n        \"https://cdn.ing/assets/i/r/289136/47lmzyqgma1ovg3oxw37x38oyx08/bartender-shaking-cocktail-in-lively-night-bar.jpg\",\n        \"https://cdn.ing/assets/i/r/289137/aud3lp0mpweq0wdoke6vnxy3a5l7/nightlife-bar-friends-holding-martinis-celebration.jpg\",\n        \"https://cdn.ing/assets/i/r/289138/tlbtkr13i2nwu7kx80t5bnf9qwgg/manual-meat-slicer-on-wooden-counter-charcuterie-station.jpg\",\n        \"https://cdn.ing/assets/i/r/289144/9thob27iku9i72elwvz5j03z6482/glamorous-nightlife-portrait-woman-burgundy-dress-upscale-bar.jpg\",\n        \"https://cdn.ing/assets/i/r/289147/mc32ysna8zk8xtyt0oizs1cqwbqt/fine-dining-restaurant-table-gourmet-dishes-red-wine.webp\",\n        \"https://cdn.ing/assets/i/r/289148/0p9g9lcxh9z50zhqww4athwg17bf/moody-orange-cocktail-in-coupe-glass-on-bar.jpg\",\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,"minItems":4,"maxItems":20,"mediaHints":{"path":"images[]","roles":["gallery","feature"],"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}},"exampleProps":{"heading":"Beautiful Interiors.","description":"Explore our curated collection of stunning interior designs that blend functionality with aesthetics.","loop":true,"background":"gray","spacing":"lg","images":["https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp","https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp","https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp","https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp","https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp","https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp"]},"dependencies":["@opensite/ui"],"tags":["gallery","carousel","interior","two-up","portrait","real-estate","design","comparison"],"performance":{},"importantUsageNotes":"All media src values must be absolute URLs to real assets; relative paths and placeholder media variables are not allowed. The 'images' prop accepts either plain URL strings or '{ src, alt, className }' objects – you can mix both. Images render at 'aspect-4/5' (portrait). Provide portrait-oriented images for the best result. Clicking any image opens a built-in lightbox viewer. The 'loop' prop (default 'true') enables infinite looping; set to 'false' for a bounded gallery. Navigation arrows are overlaid on the carousel at vertical centre with 'bg-foreground text-background' styling. Provide 6–12 images for a rich gallery feel.","usageRequirements":{"requiredProps":[],"requiresSiteCapabilities":["media_library"],"propConstraints":{"images":{"minItems":4,"maxItems":20}},"mediaSlots":{"images[]":{"path":"images[]","roles":["gallery","feature"],"required":false}}}}},"timestamp":"2026-06-27T19:54:32.325Z"}