Skip to content

Extensions

Ghimpu Lucian Eduard edited this page Nov 21, 2022 · 4 revisions

Extensions

designsystem-utilities provides various extensions and utilities functions as helpers. Usually the utilities functions are attached to the Companion object of a certain type.

Color

fromHex()

ℹ️ This an utility method in Color.Companion

Convert a hex value string to a Color

  • If the conversion fails, fallbackColor will be returned
  • If hexValue is null, fallbackColor will be returned
  • If fallbackColor is not provided, Color.White will be returned
// valid values
val white = Color.fromHex("#ffffff")
val anotherWhite = Color.fromHex("#FFFFFFFF")

// exception
val exception = Color.fromHex("ffffff")

ifUnspecified()

Chain colors values until a color != Color.Unspecified is found.

val color = someColor.ifUnspecified(anotherColor).ifUnspecified(someOthercolor)

Dp

toRoundedShape()

Creates a RoundedCornerShape from a Dp value.

val shape = 8.dp.toRoundedShape()

String

String.empty, String.whitespace, String.questionMark

These are a series of extensions used to avoid using magic strings.

orEmpty()

Extensions for String? to return String.empty if the source is null.

val someString: String? = null
val empty = someString.orEmpty()

toAnnotatedString()

Used to covert a regular String to a AnnotedString.

val annotedString = "some string".toAnnotedString()

toColor()

Covert a String? to Color using Color.fromHex()

Clone this wiki locally