Back to Shark UI

Carousel

docs/components/carousel

latest11.2 KB
Original Source

Sections

Components

Utilities

Forms

Hooks

Carousel

Copy Markdown

Lets users cycle through a series of items.

DocsAPI

PreviewCode

1

2

3

4

5

6

7

8

Installation#

CLIManual

pnpmbunnpmyarn

pnpm dlx shadcn@latest add @shark/carousel

Anatomy#

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

Usage#

import { 
  Carousel,
  CarouselControl,
  CarouselItem,
  CarouselContent,
  CarouselIndicator,
  CarouselIndicatorGroup,
  CarouselNext,
  CarouselPrevious,
} from "@/components/ui/carousel";
<Carousel>
  <CarouselControl>
    <CarouselPrevious>Previous</CarouselPrevious>
    <CarouselNext>Next</CarouselNext>
  </CarouselControl>
  <CarouselContent>
    <CarouselItem />
    <CarouselItem />
  </CarouselContent>
</Carousel>

Orientation#

Horizontal#

PreviewCode

Vertical#

PreviewCode

Thumbnail Indicators#

Render each thumbnail inside CarouselIndicator to create a visual preview of each slide.

Horizontal#

PreviewCode

Vertical#

PreviewCode

Examples#

Autoplay#

Use autoplay props on Carousel to make the carousel play automatically.

PreviewCode

1

2

3

4

5

6

7

8

Loop#

Use loop prop to make the carousel loop.

PreviewCode

1

2

3

4

Controlled#

Use page and onPageChange props to control the carousel state programmatically.

PreviewCode

1

2

3

4

5

6

7

8

Current page: 1 of 5

Slides Per Page#

Display multiple slides simultaneously by setting the slidesPerPage prop on Carousel.

PreviewCode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Spacing#

Control the gap between slides using the spacing prop on Carousel.

PreviewCode

1

2

3

4

5

6

7

8

Mouse Drag#

To allow mouse drag, set the allowMouseDrag prop on Carousel.

PreviewCode

1

2

3

4

5

6

7

8

API Reference#

Root component. Manages slide state and navigation.

PropTypeDefault
slideCountnumberrequired
allowMouseDragbooleanfalse
autoplay`boolean{ delay: number }`
defaultPagenumber0
loopbooleanfalse
orientation`"horizontal""vertical"`
pagenumber-
slidesPerPagenumber1
slidesPerMove`number'auto'`
spacingstring"16px"
paddingnumber0
classNamestring-

CarouselContent#

Wraps all slides. Handles layout and transitions.

PropTypeDefault
classNamestring-
asChildbooleanfalse

CarouselItem#

Wraps a single slide.

PropTypeDefault
indexnumberrequired
snapAlign`"start""center"
classNamestring-
asChildbooleanfalse

CarouselControl#

Holds prev/next navigation buttons.

PropTypeDefault
classNamestring-
asChildbooleanfalse

CarouselPrevious#

Goes to the previous slide.

PropTypeDefault
classNamestring-

CarouselNext#

Goes to the next slide.

PropTypeDefault
classNamestring-

CarouselIndicatorGroup#

Holds slide indicator dots or pills.

PropTypeDefault
classNamestring-
asChildbooleanfalse

CarouselIndicator#

Indicator for a slide. Click to jump to that slide.

PropTypeDefault
indexnumberrequired
readOnlybooleanfalse
classNamestring-
asChildbooleanfalse

For a complete list of props, see the Ark UI documentation.

[

Previous page

Card ](/docs/components/card)[

Next page

Chart ](/docs/components/chart)

On This Page

InstallationAnatomyUsageOrientationHorizontalVerticalThumbnail IndicatorsHorizontalVerticalExamplesAutoplayLoopControlledSlides Per PageSpacingMouse DragAPI ReferenceCarouselCarouselContentCarouselItemCarouselControlCarouselPreviousCarouselNextCarouselIndicatorGroupCarouselIndicator