interface QCarouselProps<T> extends Omit< HTMLAttributes<HTMLElement>, "children" | "onselect" >
?: "start" | "center" = "start"?: (item: T, index: number) => number = undefined?: boolean = true?: string = undefined?: (item: T, index: number) => string = undefined?: number = 360: readonly T[] = undefined?: Partial<QCarouselLabels> = undefined
?: (item: T, index: number) => void = undefined?: boolean = undefined?: number = $bindable(0)
?: CarouselVariant = "multi-browse"
value to the prominent item's zero-based index.
Set onselect to make each slide a button; its content must then contain no other
interactive elements.Prominent photo: 1 of 6
Choose a photo to select it.
snap to align items after scrolling.aspectRatio. Ratios are constrained
between portrait 9:16 and landscape 16:9; all items share the same height.alignment="center" with multi-browse for a centered group instead.100svh, reduced to 448px in this embedded example.aria-label or aria-labelledby, and provide
meaningful alternative text for images. Previous and next buttons allow navigation without
dragging. When an item is focused, use arrow keys to browse and Home or End to reach the
first or last item. Full-screen carousels use Up and Down. Native links and controls
inside non-actionable slides retain their keyboard behavior.There is no automatic rotation. Scrolling respects the reduced-motion preference. Keep the
default controls or provide equivalent accessible navigation when setting controls=false. Translate navigation and position announcements through labels.
The optional showAll snippet can link to a separate vertical collection. See
the Material 3 carousel specs.