
Design-system UI components and theming: Material 3–based buttons, alerts, typography and color system, plus packaged icons and illustrations for fast, consistent app interfaces and styling.
[!CAUTION] This is an unofficial Compose Multiplatform port of Kiwi.com's now-archived Orbit Compose library for Android.
This fork is primarily for preservation. While it should be stable, it is not extensively tested and is not meant for production use.
Orbit is an open-source design system that aims to bring order and consistency to Kiwi.com products as well as the processes behind building them. It elevates the user experience and increases the speed and efficiency of how we design and build products.
This library allows developers to implement Orbit in Compose Multiplatform projects targeting Android, iOS, JVM Desktop, JS, and WebAssembly.
Orbit Compose builds upon the Material 3 library.
We publish our releases in Maven Central. To use this library, you can add the following dependencies to your Gradle file:
implementation("glass.yasan.orbit:ui:<version>")
implementation("glass.yasan.orbit:icons:<version>")
implementation("glass.yasan.orbit:illustrations:<version>")
In order to use one of Orbit's components, simply add them to your Composable function.
@Composable
fun MyScreen() {
Column(
verticalArrangement = Arrangement.spacedBy(8.dp),
modifier = Modifier.padding(16.dp)
) {
val maxWidth = Modifier.fillMaxWidth()
ButtonPrimary(onClick = {}, maxWidth) {
Text("This is an Orbit primary button")
}
Spacer(modifier = Modifier.padding(4.dp))
AlertCritical(
title = { Text("Alert title") },
content = { Text("Content description") },
actions = {
ButtonPrimary(onClick = {}) { Text("Primary") }
ButtonSecondary(onClick = {}) { Text("Secondary") }
},
)
}
}Colors, typography, and other foundational elements can be used by accessing the OrbitTheme object:
Text("Title 1", emphasis = ContentEmphasis.Minor)
Text("Big title in Title 1 style", style = OrbitTheme.typography.title1)
Text("Check your typography styles!", color = OrbitTheme.colors.warning.normal)Icons and illustrations can be accessed in the same way, with the corresponding Icons and Illustrations
objects:
Image(painter = Illustrations.AppKiwi, contentDescription = "app_kiwi")The API documentation lists all possible types and composables in our library.
[!CAUTION] This is an unofficial Compose Multiplatform port of Kiwi.com's now-archived Orbit Compose library for Android.
This fork is primarily for preservation. While it should be stable, it is not extensively tested and is not meant for production use.
Orbit is an open-source design system that aims to bring order and consistency to Kiwi.com products as well as the processes behind building them. It elevates the user experience and increases the speed and efficiency of how we design and build products.
This library allows developers to implement Orbit in Compose Multiplatform projects targeting Android, iOS, JVM Desktop, JS, and WebAssembly.
Orbit Compose builds upon the Material 3 library.
We publish our releases in Maven Central. To use this library, you can add the following dependencies to your Gradle file:
implementation("glass.yasan.orbit:ui:<version>")
implementation("glass.yasan.orbit:icons:<version>")
implementation("glass.yasan.orbit:illustrations:<version>")
In order to use one of Orbit's components, simply add them to your Composable function.
@Composable
fun MyScreen() {
Column(
verticalArrangement = Arrangement.spacedBy(8.dp),
modifier = Modifier.padding(16.dp)
) {
val maxWidth = Modifier.fillMaxWidth()
ButtonPrimary(onClick = {}, maxWidth) {
Text("This is an Orbit primary button")
}
Spacer(modifier = Modifier.padding(4.dp))
AlertCritical(
title = { Text("Alert title") },
content = { Text("Content description") },
actions = {
ButtonPrimary(onClick = {}) { Text("Primary") }
ButtonSecondary(onClick = {}) { Text("Secondary") }
},
)
}
}Colors, typography, and other foundational elements can be used by accessing the OrbitTheme object:
Text("Title 1", emphasis = ContentEmphasis.Minor)
Text("Big title in Title 1 style", style = OrbitTheme.typography.title1)
Text("Check your typography styles!", color = OrbitTheme.colors.warning.normal)Icons and illustrations can be accessed in the same way, with the corresponding Icons and Illustrations
objects:
Image(painter = Illustrations.AppKiwi, contentDescription = "app_kiwi")The API documentation lists all possible types and composables in our library.