Mediastable
Reel
A roulette-style carousel you can drag, flick, scroll sideways or step.
Customize
Sizeitem box and spacing
300 px
itemWidth400 px
itemHeight20 px
radius340 px
spacing3
visible7
itemsNeighbourshow side items recede
0.800
scale0.350
opacity0 °
rotate0 px
depth1400 px
perspectiveMotion and inputspring, drag, wheel, controls
9.00
stiffnessloopdragwheelarrowsdotsclickToSelectUsage
import { Reel } from "zerogravity"
<Reel>
<article>Slide one</article>
</Reel>Generated from the controls above. Only props that differ from their defaults are shown.
Props
| Property | Type | Default | Description |
|---|---|---|---|
itemWidth | number | 300 | Item width. Range 120 to 640 px. |
itemHeight | number | 400 | Item height. Range 160 to 720 px. |
radius | number | 20 | Corner radius. Range 0 to 48 px. |
spacing | number | 340 | Spacing. Range 60 to 700 px. |
visible | number | 3 | Neighbours each side. Range 1 to 8. |
scale | number | 0.8 | Scale. Range 0.3 to 1. |
opacity | number | 0.35 | Opacity. Range 0 to 1. |
rotate | number | 0 | Y rotation. Range 0 to 70 °. |
depth | number | 0 | Push back. Range 0 to 500 px. |
perspective | number | 1400 | Perspective. Range 400 to 3000 px. |
stiffness | number | 9 | Spring stiffness. Range 2 to 24. |
loop | boolean | false | Loop. |
drag | boolean | true | Drag to spin. |
wheel | boolean | true | Horizontal wheel. |
arrows | boolean | true | Arrow buttons. |
dots | boolean | true | Dots. |
clickToSelect | boolean | true | Click a neighbour to centre it. |
children | ReactNode | — | One element per slide. |
index | number | — | Controlled index of the centred slide. |
onIndexChange | (index: number) => void | — | Fires when a different slide reaches the centre. |
label | string | "Carousel" | Accessible name for the carousel region. |
Dependencies
0 external runtime dependencies
Ships with nothing but React.