ComposableFieldValue
interface ComposableFieldValue
Interface for values that can be used in a ComposableField. Provides a label and composable content.
Usage
// Using predefined values
@Preview
@Composable
fun MyPreview() = PreviewLab {
val content: @Composable () -> Unit = fieldValue {
ComposableField(
label = "Content",
initialValue = ComposableFieldValue.Red64X64,
choices = listOf(
ComposableFieldValue.Red32X32,
ComposableFieldValue.Red64X64,
ComposableFieldValue.SimpleText,
ComposableFieldValue.Empty
)
)
}
MyBox(content = content)
}
// Creating custom ComposableFieldValue
val CustomIcon: ComposableFieldValue = object : ComposableFieldValue {
override val label: String = "Custom Icon"
@Composable
override fun invoke() {
Icon(Icons.Default.Star, contentDescription = null)
}
}
// Using in a preview
@Preview
@Composable
fun CustomPreview() = PreviewLab {
val icon: @Composable () -> Unit = fieldValue {
ComposableField(
label = "Icon",
initialValue = CustomIcon
)
}
MyButton(icon = icon)
}Content copied to clipboard