@pallas-ui/carousel
v0.1.0
Published
A flexible and accessible carousel component built with embla-carousel-react.
Readme
Carousel
A flexible and accessible carousel component built with embla-carousel-react.
Features
- Support for multiple slides per screen
- Navigate by swipe and buttons
- Customizable and clickable dot buttons
- Extendable using plugins provided by embla
- TypeScript support
Installation
npm install @pallas-ui/carouselUsage
import * as Carousel from '@pallas-ui/carousel'
function Example() {
return (
<Carousel.Root>
<Carousel.List>
<Carousel.Item></Carousel.Item>
<Carousel.Item></Carousel.Item>
<Carousel.Item></Carousel.Item>
</Carousel.List>
<Carousel.Previous></Carousel.Previous>
<Carousel.Next></Carousel.Next>
<Carousel.Dots>
<Carousel.Dot/>
<Carousel.Dot/>
<Carousel.Dot/>
</Carousel.Dots>
</Carousel.Root>
)
}Components
Root, List, Item, Next, Previous, Dots, Dot, useCarousel
Carousel.Root- The root elementCarousel.List- The wrapper element for carousel itemsCarousel.Item- The wrapper element for an item (slide)Carousel.Previous- The previous buttonCarousel.Next- The next buttonCarousel.Dots- The wrapper element for navigation dotsCarousel.Dot- The button element for a dotCarousel.useCarousel- The hook provides handlers, refs, states etc
Accessibility
The component follows WAI-ARIA patterns for sidebar navigation:
- Uses semantic HTML elements (
section,button) - Includes proper ARIA labels and roles
- Maintains keyboard navigation support
- Provides screen reader friendly structure
License
MIT
