Cards
Cards

Testimonial Quote

Customer testimonial card featuring a large quote glyph and author attribution.

This tool reshaped how our whole team ships product every single week.

SP
Sam Park
CTO, Northwind

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
@Composable
fun TestimonialQuoteCard() {
    Card(
        modifier = Modifier.width(300.dp),
        shape = RoundedCornerShape(20.dp)
    ) {
        Column(Modifier.padding(20.dp)) {
            Icon(
                Icons.Default.FormatQuote,
                contentDescription = null,
                tint = MaterialTheme.colorScheme.primary,
                modifier = Modifier.size(32.dp)
            )
            Spacer(Modifier.height(8.dp))
            Text(
                "This tool reshaped how our whole team " +
                    "ships product every single week.",
                style = MaterialTheme.typography.bodyLarge
            )
            Spacer(Modifier.height(16.dp))
            Row(verticalAlignment = Alignment.CenterVertically) {
                Box(
                    Modifier.size(40.dp).clip(CircleShape)
                        .background(
                            MaterialTheme.colorScheme.tertiary
                        ),
                    contentAlignment = Alignment.Center
                ) { Text("SP") }
                Spacer(Modifier.width(12.dp))
                Column {
                    Text(
                        "Sam Park",
                        style = MaterialTheme.typography.titleSmall
                    )
                    Text(
                        "CTO, Northwind",
                        style = MaterialTheme.typography.bodySmall,
                        color = MaterialTheme.colorScheme
                            .onSurfaceVariant
                    )
                }
            }
        }
    }
}