Carousel
The Carousel displays content in a series of slides with navigation controls and indicator dots.
Basic Usage
import { Carousel, CarouselSlide, CarouselControl } from "@paramanu/disclosure-react"
export default function App() {return ( <Carousel aria-label="Example"> <CarouselControl direction="prev" /> <CarouselSlide active index={0} total={2}>Slide 1</CarouselSlide> <CarouselSlide index={1} total={2}>Slide 2</CarouselSlide> <CarouselControl direction="next" /> </Carousel>)}<div class="pm-carousel pm-carousel--horizontal pm-carousel--md" role="region" aria-roledescription="carousel" aria-label="Example"><button class="pm-carousel__control pm-carousel__control--prev" aria-label="Previous slide">‹</button><div class="pm-carousel__slide pm-carousel__slide--active" role="group" aria-roledescription="slide" aria-label="Slide 1 of 2">Slide 1</div><div class="pm-carousel__slide" role="group" aria-roledescription="slide" aria-label="Slide 2 of 2">Slide 2</div><button class="pm-carousel__control pm-carousel__control--next" aria-label="Next slide">›</button></div>Accessibility
| Key | Action |
|---|---|
ArrowLeft | Previous slide |
ArrowRight | Next slide |
- Root uses
role="region"witharia-roledescription="carousel". - Slides use
role="group"witharia-roledescription="slide". - Controls use descriptive
aria-label. - Indicators use
role="tab"witharia-selected.
Best Practices
- Pause autoplay when the carousel has focus.
- Provide both arrow controls and indicator dots.
Carousel Props
| Prop | Type | Default | Description |
|---|---|---|---|
orientation | "horizontal" | "vertical" | "horizontal" | Scroll direction |
size | "sm" | "md" | "lg" | "md" | Size preset |
CarouselSlide Props
| Prop | Type | Default | Description |
|---|---|---|---|
active | boolean | false | Active slide |
index | number | - | Slide index |
total | number | - | Total slides |
CarouselControl Props
| Prop | Type | Default | Description |
|---|---|---|---|
direction | "prev" | "next" | - | Navigation direction |
disabled | boolean | false | Disabled state |
CSS Classes
| Class | Description |
|---|---|
pm-carousel | Root element |
pm-carousel__slide | Slide container |
pm-carousel__slide--active | Active slide |
pm-carousel__control | Navigation button |
pm-carousel__indicator | Dot indicator |