Orbit UI, the design system for Sharegate web apps.
Orbit UI is a design system develop by Sharegate to help create the best experience for our customers and drive consistency between all our web apps.
The documentation website contains information about the foundation of Orbit UI and the React components.
The storybook website contains stories for Orbit UI custom React components.
Every components will contains a play and a specs directory. You should only use the play directory. The specs directory is for automated visual testing.
https://sg-storybook.netlify.com
Multiple npm packages compose Orbit UI. Based on which type of application you're building you'll choose a different composition of packages.
For a React application, the easiest way to use Orbit UI is by installing the @orbit-ui/react package.
To install the package with npm:
npm install @orbit-ui/react react-spring moment
Then import the components:
import { Button, ... } from "semantic-ui-react";
import { DateRangePicker, MultiSelect, ... } from "@orbit-ui/react-components";
import { ClearIcon, ... } from "@orbit-ui/icons";
and the styles:
@import "~@orbit-ui/react/[(apricot|overcast|desktop).css]";
If your app doesn't use React or you prefer to hand-pick a few packages, this is also possible.
Strict peerDependencies are defined in every packages to ensure that dependent packages are installed together. This means that if a required package is missing during the installation, a warning will be output by your package manager.
Before installing any React components packages, the core packages must be installed.
You can pick and choose the core packages to install but you should normally install all of them.
To install all the core packages with npm:
npm install @orbit-ui/fonts @orbit-ui/css-normalize @orbit-ui/icons @orbit-ui/foundation @orbit-ui/tachyons
Then, import the styles:
@import "~@orbit-ui/fonts";
@import "~@orbit-ui/css-normalize";
@import "~@orbit-ui/foundation[/(apricot|overcast|desktop).css]";
@import "~@orbit-ui/tachyons[/(apricot|overcast|desktop|legacy).css]";
Once the core packages are installed, you can optionally add React component packages.
A few options are available...
Only install the components from Semantic UI React
With npm:
npm install @orbit-ui/semantic-ui-theme semantic-ui-react
Install all the Orbit UI React components
With npm:
npm install @orbit-ui/semantic-ui-theme @orbit-ui/react-components semantic-ui-react react-spring styled-jsx moment lodash
Hand-pick a few Orbit UI React components to install
With npm:
npm install @orbit-ui/semantic-ui-theme @orbit-ui/react-* semantic-ui-react styled-jsx
Then, import the Semantic UI theme and the components:
import { Button, ... } from "semantic-ui-react";
import { DateRangePicker, MultiSelect, ... } from "@orbit-ui/react-components";
For more information about the React components, read the usage documentation.
Package | Version | Dependencies |
---|---|---|
@orbit-ui/css-normalize | ||
@orbit-ui/fonts | ||
@orbit-ui/icons | ||
@orbit-ui/foundation | ||
@orbit-ui/tachyons |
- @orbit-ui/css-normalize: is Orbit UI custom CSS normalizer for Edge, Chrome, Firefox and Safari.
- @orbit-ui/fonts: contains the fonts of Orbit UI.
- @orbit-ui/icons: contains the icons of Orbit UI.
- @orbit-ui/foundation: is a set of CSS variables for Orbit UI colors, spacing and typography.
- @orbit-ui/tachyons: is a custom version of the Tachyons library.
Orbit UI components are built on top of Semantic UI and Semantic UI React.
When available, you should use a component from Semantic UI React. If a UI requirement cannot be achieved with the existing components, a custom one can be added to this repository.
- @orbit-ui/react: is a bundle containing everything to use Orbit UI in a React app.
- @orbit-ui/semantic-ui-theme: is Orbit UI custom theme for Semantic UI. The theme is based on the variables of @orbit-ui/foundation.
- @orbit-ui/react-components: is a bundle containing every Orbit UI custom React components.
- @orbit-ui/react-*: are packages thats contains invidual Orbit UI custom React component.
View the contributors documentation.
Copyright © 2019, GSoft inc. This code is licensed under the Apache License, Version 2.0. You may obtain a copy of this license at https://github.com/gsoft-inc/gsoft-license/blob/master/LICENSE.