KCarousel

fun KCarousel(api: KCarouselApi, modifier: Modifier = Modifier, showArrows: Boolean = true, showDots: Boolean = api.slideCount > 1, autoPlay: KCarouselAutoPlay? = null, pageSpacing: Dp = 8.dp, content: @Composable ColumnScope.() -> Unit)(source)

Shadcn/ui-style Carousel — mirrors carousel.tsx.

Arrows are dev.kindling.core.components.ui.button.KButton instances rendered beside the pager (not overlaid).

val api = rememberCarouselApi(pageCount = items.size)
KCarousel(api = api) {
KCarouselContent {
items.forEach { item ->
KCarouselItem { MySlide(item) }
}
}
}
// Anywhere:
Text("Slide ${api.currentSlide + 1} /${api.slideCount}")