bearnie

Carousel

A carousel component built with Keen Slider for smooth, touch-enabled sliding.

1
2
3

Installation

npx bearnie add carousel
npx bearnie add carousel

External dependency: This component requires Keen Slider, a lightweight touch slider library.

Usage

import {
Carousel,
CarouselContent,
CarouselItem,
CarouselPrevious,
CarouselNext,
CarouselDots,
} from "@/components/ui/carousel"
<Carousel>
<CarouselContent>
  <CarouselItem>Slide 1</CarouselItem>
  <CarouselItem>Slide 2</CarouselItem>
  <CarouselItem>Slide 3</CarouselItem>
</CarouselContent>
<CarouselPrevious />
<CarouselNext />
</Carousel>

Examples

With dots

Slide 1
Slide 2
Slide 3

Loop

1
2
3

Autoplay

Auto 1
Auto 2
Auto 3

Multiple slides per view

1
2
3
4
5

Props

PropTypeDefaultDescription
loopbooleanfalseEnable infinite loop
autoplaybooleanfalseAuto-advance slides
autoplayDelaynumber4000Delay between slides in ms
pauseOnHoverbooleantruePause autoplay on hover
slidesPerViewnumber | “auto”1Slides visible at once
spacingnumber16Gap between slides in px
orientation”horizontal” | “vertical""horizontal”Slide direction

CarouselDots

PropTypeDefaultDescription
countnumberrequiredNumber of dots to display

Accessibility

  • Navigation buttons have proper aria-labels
  • Dots indicate current slide position
  • Touch and swipe gestures supported
  • Keyboard navigation supported (arrow keys when focused)