ColorBox

A ComposableFieldValue that renders a colored box with configurable dimensions. Supports both fixed dimensions and fill options.

Usage

// Fixed dimensions
@Preview
@Composable
fun ColorBoxPreview() = PreviewLab {
val box: @Composable () -> Unit = fieldValue {
ComposableField(
label = "Box",
initialValue = ComposableFieldValue.ColorBox(Color.Blue, 50.dp, 50.dp),
choices = listOf(
ComposableFieldValue.ColorBox(Color.Red, 32.dp, 32.dp),
ComposableFieldValue.ColorBox(Color.Blue, 50.dp, 50.dp),
ComposableFieldValue.ColorBox(Color.Green, 64.dp, 64.dp)
)
)
}
MyContainer(content = box)
}

// Fill dimensions
@Preview
@Composable
fun FillBoxPreview() = PreviewLab {
val box: @Composable () -> Unit = fieldValue {
ComposableField(
label = "Background",
initialValue = ComposableFieldValue.ColorBox(
Color.Gray,
ComposableFieldValue.ColorBox.Fill,
ComposableFieldValue.ColorBox.Fill
),
choices = listOf(
ComposableFieldValue.ColorBox(Color.Red, ComposableFieldValue.ColorBox.Fill, 100.dp),
ComposableFieldValue.ColorBox(Color.Blue, 200.dp, ComposableFieldValue.ColorBox.Fill),
ComposableFieldValue.ColorBox(Color.Green, ComposableFieldValue.ColorBox.Fill, ComposableFieldValue.ColorBox.Fill)
)
)
}
MyCard(background = box)
}

// With custom label
@Preview
@Composable
fun LabeledBoxPreview() = PreviewLab {
val divider: @Composable () -> Unit = fieldValue {
ComposableField(
label = "Divider",
initialValue = ComposableFieldValue.ColorBox(
Color.Gray,
ComposableFieldValue.ColorBox.Fill,
1.dp,
label = "Thin Divider"
)
)
}
Column {
Text("Above")
divider()
Text("Below")
}
}

See also

Constructors

Link copied to clipboard
constructor(color: Color, width: Dp, height: Dp, label: String? = null)
constructor(color: Color, width: ComposableFieldValue.ColorBox.Fill, height: Dp, label: String? = null)
constructor(color: Color, width: Dp, height: ComposableFieldValue.ColorBox.Fill, label: String? = null)
constructor(color: Color, width: ComposableFieldValue.ColorBox.Fill, height: ComposableFieldValue.ColorBox.Fill, label: String? = null)

Types

Link copied to clipboard
object Companion
Link copied to clipboard
object Fill

Properties

Link copied to clipboard
open override val label: String

Display label for this composable value

Functions

Link copied to clipboard
fun copy(color: Color = this.color, label: String? = this.label): ComposableFieldValue.ColorBox
Link copied to clipboard
open operator override fun invoke()

Renders the composable content