/orbit-swiftui

Kiwi.com Orbit design system library

Primary LanguageSwiftMIT LicenseMIT

orbit-components

Kiwi.com library swiftui-version swift-version swift-package-manager Build

Orbit SwiftUI is a component library that provides developers an easy way of building Kiwi.com’s products.

Orbit Mission

Orbit aims to bring consistency to our products and processes.

Orbit is an open-source design system created for specific needs of Kiwi.com.

This library allows you to integrate it into your iOS SwiftUI project.

Requirements

  • iOS 13
  • Xcode 15
  • Swift Package Manager

Installation

Add Orbit package to your project by adding the package dependency:

.package(name: "Orbit", url: "https://github.com/kiwicom/orbit-swiftui.git", .upToNextMajor(from: "0.10.0")),

Documentation

DocC
DocC documentation

The online documentation contains instructions on how to get started with the library as well as examples and pages for individual components.

You can also build the documentation locally in Xcode (Product -> Build Documentation).

App Store

The Orbit Storybook that contains a showcase of Orbit foundation and components can be built in Xcode or downloaded as a standalone app in the App Store.

Download on the App Store

Contributing

Feel free to create bug reports and feature requests via the Issues tab.

If you want to directly contribute by fixing a bug or implementing a feature or enhancement, you are welcome to do so. Pull request review has following priorities to check:

  1. API consistency with other components (similar components should have similar API)
  2. Component variants matching design variants (components should have same properties as design)
  3. Visual match to designs
  4. Internal code structure consistency (button-like components should use consistent mechanism, haptics etc.)
  5. Previews / Storybook consistency (a new component needs to be added to the Storybook)

Feedback

We want to provide high quality and easy to use components. We can’t do that without your feedback. If you have any suggestions about what we can do to improve, please report it as an issue.