PlaceholderSurface

fun PlaceholderSurface(animationSpec: InfiniteRepeatableSpec<Float> = DefaultPlaceholderCoordinatorSpec, content: @Composable () -> Unit)

Wraps content in a scope where every Modifier.placeholder(...) call shares a single PlaceholderCoordinator. Use this around a list, card grid, or any region where you want the shimmer to read as one synchronized motion.

Example:

PlaceholderSurface {
LazyColumn {
items(20) { SkeletonRow() } // all rows shimmer in sync
}
}

Parameters

animationSpec

The shared infinite spec driving every placeholder in the scope. Per-highlight specs are ignored while inside this surface.