Carousel

Loading...

Installation

Install the component via the CLI in one command.

npx shadcn@latest add @intentui/carousel

Composed components

When you install this component via the CLI, it automatically loads all composed components, so you don’t need to add them individually.

Manual installation

Use this approach if you prefer to install and wire up the component yourself instead of using the CLI.

npm install react-aria-components embla-carousel-react @heroicons/react tailwind-merge

Anatomy

import {
  Carousel,
  CarouselButton,
  CarouselContent,
  CarouselHandler,
  CarouselItem,
} from "@/components/ui/carousel"
<Carousel>
  <CarouselContent>
    <CarouselItem className="basis-1/2">Slide 1</CarouselItem>
    <CarouselItem className="basis-1/2">Slide 2</CarouselItem>
    <CarouselItem className="basis-1/2">Slide 3</CarouselItem>
  </CarouselContent>

  <CarouselHandler>
    <CarouselButton segment="previous" />
    <CarouselButton segment="next" />
  </CarouselHandler>
</Carousel>

Examples

Orientation

You can change the orientation of the carousel by using the orientation prop. The default is horizontal, but you can switch it to vertical.

Loading...

Options

You want to loop, or align the carouse, don't worry, you can do it with the opts prop.

Loading...

Autoplay

This a plugin by the embla-carousel it self, it's not included in the package, but you can install it to make sure the carousel autoplay.

npm install embla-carousel-autoplay

Once you install it, you can use it with the plugins prop.

Loading...

If you need a link in carousel item, it simple, add href to the CarouselItem.

<CarouselItem href="/path/to/page"/>

Component API

Carousel extends the native <div> element.

classNamestring
optsCarouselOptions
orientation"horizontal" | "vertical"
Default: horizontal
pluginsCarouselPlugin
setApi(api: CarouselApi) => void

CarouselButton

CarouselButton extends the Intent UI <Button> component.

classNamestring
segment"previous" | "next"

CarouselContent

CarouselContent extends the native <div> element.

classNamestring

CarouselHandler

CarouselHandler extends the native <div> element.

classNamestring

CarouselItem

CarouselItem extends the native <div> element.

classNamestring

See the React Aria and Embla Carousel API reference for the full API reference.

Design