Inputs
Inputsicon

Rated feedback

Combined star rating and comment field for capturing a review in one block.

Installation

caveui components are copy-paste Jetpack Compose built entirely on Material 3 — there's no caveui dependency to add. Make sure Material 3 is on your classpath (it ships with the Compose BOM), then copy the Usage snippet below into your project.

kotlin
// build.gradle.kts (module)
dependencies {
    implementation(platform("androidx.compose:compose-bom:2025.06.00"))
    implementation("androidx.compose.material3:material3")
}

Usage

kotlin
var rating by remember { mutableIntStateOf(4) }
var comment by remember { mutableStateOf("") }
Column {
    Row {
        repeat(5) { i ->
            IconButton(onClick = { rating = i + 1 }) {
                Icon(
                    Icons.Filled.Star,
                    contentDescription = null,
                    tint = if (i < rating) Color(0xFFF59E0B)
                    else MaterialTheme.colorScheme.outline,
                )
            }
        }
    }
    OutlinedTextField(
        value = comment,
        onValueChange = { comment = it },
        placeholder = { Text("Tell us more…") },
        minLines = 2,
    )
}