Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kiwicom/orbit-compose
Android Jetpack Compose components of open-source Orbit design system by Kiwi.com.
https://github.com/kiwicom/orbit-compose
android design-system jetpack-compose kotlin orbit
Last synced: 3 months ago
JSON representation
Android Jetpack Compose components of open-source Orbit design system by Kiwi.com.
- Host: GitHub
- URL: https://github.com/kiwicom/orbit-compose
- Owner: kiwicom
- License: mit
- Created: 2020-08-21T20:03:49.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-14T15:26:01.000Z (3 months ago)
- Last Synced: 2024-03-14T23:49:51.945Z (3 months ago)
- Topics: android, design-system, jetpack-compose, kotlin, orbit
- Language: Kotlin
- Homepage: https://orbit.kiwi
- Size: 56.3 MB
- Stars: 129
- Watchers: 12
- Forks: 18
- Open Issues: 16
-
Metadata Files:
- Readme: readme.md
- Contributing: contributing.md
- License: license.md
- Codeowners: CODEOWNERS
Lists
- awesome-list - kiwicom/orbit-compose - Android Jetpack Compose components of open-source Orbit design system by Kiwi.com. (Kotlin)
README
**Orbit Compose**
[![Kiwi.com library](https://img.shields.io/badge/Kiwi.com-library-00A991)](https://code.kiwi.com)
[![CI Build](https://img.shields.io/github/actions/workflow/status/kiwicom/orbit-compose/build.yml?branch=main)](https://github.com/kiwicom/orbit-compose/actions/workflows/build.yml)
[![GitHub release](https://img.shields.io/github/v/release/kiwicom/orbit-compose)](https://github.com/kiwicom/orbit-compose/releases)
[![Maven release](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fkiwi%2Forbit%2Fcompose%2Fui%2Fmaven-metadata.xml)](https://search.maven.org/search?q=g:kiwi.orbit.compose)
[![Compose 1.6](https://img.shields.io/badge/Compose-1.6-00A991)](https://developer.android.com/jetpack/androidx/releases/compose-kotlin)
[![Compose M3 1.2](https://img.shields.io/badge/Compose%20M3-1.2-00A991)](https://developer.android.com/jetpack/androidx/releases/compose-material3)## About Orbit
[Orbit](https://orbit.kiwi) 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 a project
using [Jetpack Compose](https://developer.android.com/jetpack/compose) for Android.Orbit Compose builds upon Material 3 library. If you need an integration with Material 2, see
[Theming chapter](https://github.com/kiwicom/orbit-compose/blob/main/docs/02-foundation/04-color/theming.md).## Setup
We publish our releases in [Maven Central](https://search.maven.org/search?q=g:kiwi.orbit.compose). To use
this library, you can add the following dependencies to your **Gradle file**:```
implementation("kiwi.orbit.compose:ui:")
implementation("kiwi.orbit.compose:icons:")
implementation("kiwi.orbit.compose:illustrations:")
```## How to use?
In order to use one of Orbit's components, simply add them to your Composable function.
```kotlin
@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:
```kotlin
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)
```![Orbit Button and Alert component](./docs/readme/button_and_alert.png)
![Orbit typography and colors](./docs/readme/styled_text.png)
### Icons and Illustrations
Icons and illustrations can be accessed in the same way, with the corresponding `Icons` and `Illustrations`
objects:```kotlin
Image(painter = Illustrations.AppKiwi, contentDescription = "app_kiwi")
```## Documentation
You can check out our component Catalog by downloading and installing
our [showcase application](https://play.google.com/store/apps/details?id=kiwi.orbit.compose.catalog) from Google
Play.The [API documentation](https://kiwicom.github.io/orbit-compose/) lists
all possible types and composables in our library.## Contributing
Read our [contributing guidelines](./contributing.md) to see how you can participate in this project.
## Feedback
Any feedback you have for us is appreciated. If you have any suggestions about what we can do, do not hesitate
to [report the issue](https://github.com/kiwicom/orbit-compose/issues) and we'll take a look at it.