Use Carousel with an accessible label so the measured viewport and orientation-specific keyboard controls have a clear name.
pnpm dlx shadcn@latest add @tile-ui/carousel
import { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext } from '@tile-ui/solid';
<Carousel aria-label="Feature carousel" orientation="vertical"><CarouselContent viewportStyle={{ height: "12rem" }}><CarouselItem>One</CarouselItem><CarouselItem>Two</CarouselItem></CarouselContent><CarouselPrevious /><CarouselNext /></Carousel>
- Measured horizontal and vertical viewports
- Arrow-key navigation follows orientation
- Accessible region labels describe each carousel
| Item |
Purpose |
carousel |
Component source and module styles |
core |
Framework-agnostic logic helpers |
button |
Registry component dependency |
styles |
Shared SCSS tokens and globals |
| Prop |
Type |
Default |
orientation |
'horizontal' | 'vertical' |
‘horizontal’ |
ref |
CarouselRef<HTMLDivElement> |
— |
| Prop |
Type |
Default |
ref |
CarouselRef<HTMLDivElement> |
— |
viewportStyle |
JSX.CSSProperties | string |
— |
| Prop |
Type |
Default |
ref |
CarouselRef<HTMLDivElement> |
— |
| Prop |
Type |
Default |
ref |
CarouselRef<HTMLButtonElement> |
— |
| Prop |
Type |
Default |
ref |
CarouselRef<HTMLButtonElement> |
— |