Blocks
our experts
Creativity Landing
A minimal monochrome landing with an uppercase headline, hero image, expert avatars and a pill CTA.
Creativty
Where creative & productive meet
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.
Consult with
our experts
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 CreativityLanding(onDetails: () -> Unit) {
Column(
Modifier.fillMaxSize().background(MaterialTheme.colorScheme.background).padding(24.dp),
) {
Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween) {
Text("Creativty", fontWeight = FontWeight.ExtraBold)
Icon(Icons.Filled.Menu, "Menu")
}
Text(
"WHERE CREATIVE & PRODUCTIVE MEET",
Modifier.padding(top = 32.dp),
style = MaterialTheme.typography.headlineSmall,
fontWeight = FontWeight.ExtraBold,
)
Box(
Modifier.fillMaxWidth().height(128.dp).padding(top = 20.dp)
.clip(RoundedCornerShape(12.dp))
.background(MaterialTheme.colorScheme.surfaceVariant),
)
Text(
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.",
Modifier.fillMaxWidth().padding(top = 20.dp),
textAlign = TextAlign.Center,
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
)
Spacer(Modifier.weight(1f))
Button(
onClick = onDetails,
modifier = Modifier.align(Alignment.CenterHorizontally),
shape = CircleShape,
colors = ButtonDefaults.buttonColors(
containerColor = MaterialTheme.colorScheme.onBackground,
contentColor = MaterialTheme.colorScheme.background,
),
) {
Text("Detailed Spec")
Spacer(Modifier.width(8.dp))
Icon(Icons.AutoMirrored.Filled.ArrowForward, null, Modifier.size(16.dp))
}
}
}