ONE CONTRACT
The same slide model
Web uses overflow scrolling, Android uses Compose lazy scrolling, and iOS uses SwiftUI scrolling.
DISPLAY
Carousel
One ordered slide track with native scrolling, predictable controls, and responsive layouts on web, Android, and iOS.
ONE CONTRACT
The same slide model
Web uses overflow scrolling, Android uses Compose lazy scrolling, and iOS uses SwiftUI scrolling.
RESPONSIVE BY DEFAULT
Full-width slides
Examples without slideWidth fill the viewport, so the same source works on desktop and narrow screens.
INTERACTION
Scroll or control
Drag, touch, wheel, keyboard, dots, thumbnails, and arrows update one active slide.
BASIC VARIANTS
Scroll, snap, compose, and change direction
Each example has several slides so the track can be tested with touch, mouse drag, wheel input, and responsive widths.
1. Simple scrollable and draggable
Carousel variant:"simple" scheme:"primary" gap:16 hideControls:true hideIndicators:true
slide id:"one"
Card variant:"soft" scheme:"primary"
Text
"Native scrolling"
slide id:"two"
Card variant:"soft" scheme:"secondary"
Text
"Another slide"2. Snapping
Carousel variant:"snapping" scheme:"secondary" gap:16 indicatorType:"dot"
slide id:"one"
Card
Text
"Centered snap"
slide id:"two"
Card
Text
"Stable landing"3. Right to left
Carousel variant:"rtl" scheme:"info" gap:16 indicatorType:"dot"
slide id:"one"
Card
Text
"Right-to-left flow"
slide id:"two"
Card
Text
"Native direction"4. Sticky slides
Carousel variant:"sticky" scheme:"warning" gap:16
slide id:"one"
Card
Text
"Sticky slide"
slide id:"two"
Card
Text
"Next sticky slide"ADVANCED VARIANTS
Depth and motion without target-specific source
Each advanced example has several slides to exercise the effect. Web uses scroll-linked transforms with a fallback; Android and iOS use native transforms with the same slide order and controls.
8. Cover flow
Carousel variant:"coverFlow" scheme:"secondary" slideWidth:280 gap:20
slide id:"one"
Card
Text
"Cover flow"
slide id:"two"
Card
Text
"A second cover"9. Parallax slideshow
Carousel variant:"slideshow" scheme:"info" autoplay:true autoplayInterval:4500 showCounter:true
slide id:"scene-one"
Card
Text
"Parallax scene"
slide id:"scene-two"
Card
Text
"Another scene"10. Stories
Carousel variant:"stories" scheme:"danger" slideWidth:280 gap:20 indicatorType:"dot"
slide id:"story-one"
Card
Text
"Story content"
slide id:"story-two"
Card
Text
"Another story"11. Smart stack
Carousel variant:"smartStack" scheme:"muted" slideWidth:280 gap:16
slide id:"one"
Card rounded:"xl"
Text
"Smart stack card"
slide id:"two"
Card rounded:"xl"
Text
"Another stack card"12. Card stack
Carousel variant:"cardStack" scheme:"primary" slideWidth:300 gap:16
slide id:"message-one"
Card rounded:"xl"
Text
"Stacked message"
slide id:"message-two"
Card rounded:"xl"
Text
"Another message"13. Flipbook
Carousel variant:"flipbook" scheme:"warning" slideWidth:320 gap:12 showCounter:true disableLoop:true
slide id:"page-one"
Card rounded:"sm"
Text
"Flipbook page"
slide id:"page-two"
Card rounded:"sm"
Text
"Another page"API
Props and parity
Carousel accepts common spacing, sizing, visibility, radius, border, and accessibility props. Every slide requires a stable id and normal view children. Desktop reuses web output; Android and iOS keep the same ordered slides, active index, controls, indicators, and loop rules with native scrolling.
Prop | Type | Default |
|---|---|---|
No dataThere are no records to display | ||