Coverflow
A 3D coverflow carousel where items rotate, scale and fade as they leave centre.
API reference
Components
<CoverflowItem />
One projected slide. Drop one per card into Coverflow's items.
children?
Card markup the projection is applied to.
label?
Accessible slide label.
className?
Merged onto the projected wrapper.
<CoverflowControls />
Navigation strip for a Coverflow. Render as a child of Coverflow.
announce?
Builds the aria-live announcement for the current slide.
prevLabel?
Accessible label for the previous arrow.
nextLabel?
Accessible label for the next arrow.
dotsLabel?
aria-label for the dots tablist.
className?
Merged onto the control-strip root.
<Coverflow />
Coverflow stage with mask band, geometry context and keyboard paging.
items
One CoverflowItem per slide.
cardWidth?
Centred card width in px. Default 340.
rotation?
Peak neighbour rotateY in degrees. Default 22.
neighbourScale?
Scale at full recede. Default 0.82.
neighbourOpacity?
Opacity at full recede. Default 0.45.
perspective?
Card transformPerspective in px. Default 1200.
startIndex?
Initial slide index. Default 0.
"aria-label"?
aria-label for the carousel region.
children?
Controls, typically CoverflowControls.
className?
Merged onto the mask band root.
Hooks
useCoverflowItem
Derives the coverflow projection for the current ticker item.
useCoverflowItem(): CoverflowItemValuesReturns
offset
Raw per-item ticker offset.
x
Horizontal travel as a percentage string.
rotateY
3D swing in degrees.
scale
Recede scale.
opacity
Recede opacity.
zIndex
Stacking order, highest at centre.
geometry
Resolved geometry from the parent Coverflow.
props
motion-plus ticker item props to spread onto the list element.