Lens Carousel
Photographs pinched by a lens across the row: full size at either rim, smallest through the middle. The strip's top and bottom edges each trace an ellipse arc. Rather than drifting, the row rests on a card then slides smoothly to the next one - and you can take over any time with the chevrons or by dragging the strip, which settles back onto whole cards when you let go. Hovering halts the auto-advance.
Installation
npx stepwise-ui add lens-carousel
Default
Props
PropTypeDescription
itemsLensCarouselItem[]Images to loop. { src, alt? }.
rationumberCard height ÷ width. Default 1.5.
minScalenumberScale at the centre of the row - the pinch. Default 0.6.
maxScalenumberScale at either rim - the largest cards get on screen. Default 1.
autoplaybooleanAdvance on its own. Default true.
intervalnumberSeconds a card rests before the row advances. Default 2.4.
transitionnumberSeconds one slide takes. Default 0.85.
controlsbooleanShow the prev / next chevrons. Default true.
draggablebooleanAllow dragging the row left and right. Default true.
itemWidthnumberCard width at full size, px. Default 124.
gapnumberSpace between cards, px. Default 10.
radiusnumberCard corner radius. Default 16.
reversebooleanTravel left-to-right instead.
pauseOnHoverbooleanHalt travel while hovered. Default true.
classNamestringMerged onto the root.


