DDS/Components/Carousel

Carousel

Display

A responsive slide carousel with arrow controls, dot indicators, autoplay, and loop support.

Props

PropTypeDefaultDescription
countnumber1Number of slides (matches slot children).
arrowsbooleantrueShow prev/next buttons.
dotsbooleantrueShow dot indicators.
autoplaybooleanfalseAuto-advance slides.
intervalnumber4000Autoplay interval in ms.
loopbooleantrueLoop back to start.

Examples

Default
Slide 1
Slide 2
Slide 3
vue
<DsCarousel :count="3" :arrows="true" :dots="true" :loop="true">
  <DsCarouselSlide>
    <div class="flex items-center justify-center h-48 bg-ds-primary-subtle rounded-ds-lg text-ds-primary font-semibold">
      Slide 1
    </div>
  </DsCarouselSlide>
  <DsCarouselSlide>
    <div class="flex items-center justify-center h-48 bg-ds-success-subtle rounded-ds-lg text-ds-success font-semibold">
      Slide 2
    </div>
  </DsCarouselSlide>
  <DsCarouselSlide>
    <div class="flex items-center justify-center h-48 bg-ds-warning-subtle rounded-ds-lg text-ds-warning font-semibold">
      Slide 3
    </div>
  </DsCarouselSlide>
</DsCarousel>

Skeleton

Use DsCarouselSkeleton as a loading placeholder while content is being fetched.

Default
vue
<DsCarouselSkeleton />

Accessibility

  • Arrow buttons have aria-label.
  • Dot buttons have aria-label and aria-current.
  • Respects prefers-reduced-motion.