Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Shadcn Carousel for React and Tailwind

An interactive slideshow for cycling through items.

Installation

bunx --bun shadcn@latest add https://kit.dev/r/carousel.json

Anatomy

Carousel
├── CarouselItem
│   └── CarouselContent
├── CarouselControl
├── CarouselNext
├── CarouselPrevious
├── CarouselIndicator
│   └── CarouselIndicatorGroup
├── CarouselAutoplayTrigger
└── CarouselProgressText

Usage

import { Card, CardContent } from "@/components/ui/card";
import {
  Carousel,
  CarouselContent,
  CarouselControl,
  CarouselItem,
  CarouselNext,
  CarouselPrevious,
} from "@/components/ui/carousel";
const slides = [1, 2, 3, 4, 5, 6, 7, 8];

const CarouselDemo = () => (
  <Carousel className="w-full max-w-48 sm:max-w-64" slideCount={slides.length}>
    <CarouselControl>
      <CarouselPrevious />
      <CarouselNext />
    </CarouselControl>
    <CarouselContent>
      {slides.map((slide, index) => (
        <CarouselItem index={index} key={slide}>
          <Card>
            <CardContent className="flex aspect-square items-center justify-center">
              <span className="font-semibold text-4xl">{slide}</span>
            </CardContent>
          </Card>
        </CarouselItem>
      ))}
    </CarouselContent>
  </Carousel>
);

Accessibility

KeyDescription
Enter
Activate the focused control.
Space
Activate the focused control.
ArrowDown
Move to the next item.
ArrowUp
Move to the previous item.
ArrowRight
Move to the next item.
ArrowLeft
Move to the previous item.
Home
Go to the start.
End
Go to the end.

Demos

Autoplay

Controlled

Dynamic

Loop

Mouse Drag

Orientation Horizontal

Orientation Vertical

Pause On Hover

Root Provider

Scroll To

Slides Per Page

Spacing

Thumbnail Indicator

Thumbnail Indicator Vertical

Variable Size

API Reference

div

PropType
AttributeType
CSS variableType

CarouselContent

div

PropType
AttributeType

CarouselItem

div

PropType
AttributeType

CarouselControl

div

PropType
AttributeType

CarouselNext

button

PropType
AttributeType

CarouselPrevious

button

PropType
AttributeType

CarouselIndicatorGroup

div

PropType
AttributeType

CarouselIndicator

button

PropType
AttributeType

CarouselAutoplayTrigger

button

PropType
AttributeType

CarouselProgressText

span

PropType
AttributeType

CarouselAutoplayIndicator

span

PropType
AttributeType

CarouselRootProvider

div

PropType
AttributeType
CSS variableType

CarouselContext

PropType