Carousel
A carousel with motion and swipe built using Embla.
Installation
Usage
Examples
Sizes
Simple
To set the size of the items, you can use the basis
utility class on the <CarouselItem />
.
Responsive
Spacing
To set the spacing between the items, we use a pl-[VALUE]
utility on the <CarouselItem />
and a negative -ml-[VALUE]
on the <CarouselContent />
.
Why?
We tried to use the gap property or a grid layout on the <CarouselContent />
but it required a lot of math and mental effort to get the spacing right. We
found pl-[VALUE]
and -ml-[VALUE]
utilities much easier to use. You can
always adjust this in your own project if you need to.
Simple
Responsive
Orientation
Use the orientation
prop to set the orientation of the carousel.
Options
You can pass options to the carousel using the opts
prop. See the Embla Carousel docs for more information.
API
Use a state and the setApi
props to get an instance of the carousel API.
Events
You can listen to events using the api instance from setApi
.
See the Embla Carousel docs for more information on using events.
Plugins
You can use the plugins
prop to add plugins to the carousel.
See the Embla Carousel docs for more information on using events.