Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gympass/yoga

Yoga design-system: a scientific system of practices made to help each one of us achieve our highest potential and experience.
https://github.com/gympass/yoga

design-system gympass hacktoberfest react

Last synced: 3 days ago
JSON representation

Yoga design-system: a scientific system of practices made to help each one of us achieve our highest potential and experience.

Awesome Lists containing this project

README

        



[![All Contributors](https://img.shields.io/badge/all_contributors-49-orange.svg?style=flat-square)](#contributors)

![Github Actions](https://github.com/gympass/yoga/workflows/Yoga%20-%20Gympass%20Design%20System/badge.svg)

Design system at Wellhub, our main intent is to support our projects. We have open-sourced our project for those who are interested in checkout how we do things and organize our code and documentation here.

**What does it mean?**

Yoga is a scientific system of practices made to help each one of us achieve our highest potential and experience.

## Documentation

Yoga is documented at [http://gympass.github.io/yoga](https://gympass.github.io/yoga).

## Installing

In order to install our design-system just run:

```bash
$ yarn add @gympass/yoga
```

## Usage

An important point is that your whole application must be wrapped in our ThemeProvider component:

```bash
import { ThemeProvider, Button } from '@gympass/yoga';

const App = () => (

Find an activity

);

```

## Architecture

The Yoga Design System codebase is structured as a monorepo, containing individually versioned libraries. Below is an overview of the main packages:

| Package | Version | Size | Description |
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| [`@gympass/yoga`](/packages/yoga) | [![npm version](https://badgen.net/npm/v/@gympass/yoga)](https://www.npmjs.com/package/@gympass/yoga) | [![Bundle size](https://badgen.net/bundlephobia/minzip/@gympass/yoga)](https://bundlephobia.com/result?p=@gympass/yoga) | Main package that brings together and exports all components |
| [`@gympass/yoga-tokens`](/packages/tokens) | [![npm version](https://badgen.net/npm/v/@gympass/yoga-tokens)](https://www.npmjs.com/package/@gympass/yoga-tokens) | [![Bundle size](https://badgen.net/bundlephobia/minzip/@gympass/yoga-tokens)](https://bundlephobia.com/result?p=@gympass/yoga-tokens) | Contains the design tokens used to maintain visual consistency |
| [`@gympass/yoga-common`](/packages/common) | [![npm version](https://badgen.net/npm/v/@gympass/yoga-common)](https://www.npmjs.com/package/@gympass/yoga-common) | [![Bundle size](https://badgen.net/bundlephobia/minzip/@gympass/yoga-common)](https://bundlephobia.com/result?p=@gympass/yoga-common) | Contains some helper variables used in all packages |
| [`@gympass/yoga-icons`](/packages/icons) | [![npm version](https://badgen.net/npm/v/@gympass/yoga-icons)](https://www.npmjs.com/package/@gympass/yoga-icons) | [![Bundle size](https://badgen.net/bundlephobia/minzip/@gympass/yoga-icons)](https://bundlephobia.com/result?p=@gympass/yoga-icons) | Library of icons used in components |
| [`@gympass/yoga-illustrations`](/packages/illustrations) | [![npm version](https://badgen.net/npm/v/@gympass/yoga-illustrations)](https://www.npmjs.com/package/@gympass/yoga-illustrations) | [![Bundle size](https://badgen.net/bundlephobia/minzip/@gympass/yoga-illustrations)](https://bundlephobia.com/result?p=@gympass/yoga-illustrations) | Library of illustrations used in components |
| [`@gympass/yoga-helpers`](/packages/helpers) | [![npm version](https://badgen.net/npm/v/@gympass/yoga-helpers)](https://www.npmjs.com/package/@gympass/yoga-helpers) | [![Bundle size](https://badgen.net/bundlephobia/minzip/@gympass/yoga-helpers)](https://bundlephobia.com/result?p=@gympass/yoga-helpers) | Helper functions to make yoga components easier to use |
| [`@gympass/yoga-system`](/packages/system) | [![npm version](https://badgen.net/npm/v/@gympass/yoga-system)](https://www.npmjs.com/package/@gympass/yoga-system) | [![Bundle size](https://badgen.net/bundlephobia/minzip/@gympass/yoga-system)](https://bundlephobia.com/result?p=@gympass/yoga-system) | Tools to apply themes and styles based on design tokens |

## Support

**Browser:** We support the 3 latest and stable releases of all major browsers and platforms

| Browser | Version |
| ---------------- | ------- |
| Chrome | >= 125 |
| Chrome (Android) | >= 125 |
| Safari (macOS) | >= 15 |
| Safari (iOS) | >= 15 |
| Edge | >= 125 |
| Firefox | >= 125 |

**Operational System:** Yoga provides support for iOS 14 and higher and Android 7 and higher.

| OS | Version | Viewport Size |
| ------- | ------- | -------------------------------------- |
| Android | >= 7 | Android Large: 360 x 800 (Samsung S20) |
| iOS | >= 14 | iPhone SE: 320 x 568 |

**[React](https://react.dev/):** Build user interfaces out of individual pieces called components written in JavaScript. Yoga supports versions `>=16`.

**[React Native](https://reactnative.dev/):** Brings the React programming paradigm to platforms like Android and iOS. Yoga supports version `0.72.3`.

**[Picker](https://www.npmjs.com/package/react-native-picker-select):** A Picker component for React Native which emulates the native interfaces for iOS and Android. Yoga supports versions `^2.4.9`.

**[Styled Componentes](https://styled-components.com/):** This lets you write actual CSS in your JavaScript.Yoga supports versions `^4.4.0`.

## License

Yoga is an open-source collaborative project, in other words, its distribution grants the right to study, use, change and distribute it to anyone (MIT license).

## Report an issue

Check if there is already an [issue](https://github.com/gympass/yoga/issues) open in our repository. If not, you can create a new one. Also, check the [discussion topics](https://github.com/gympass/yoga/discussions). Our team will analyze and prioritize within our initiatives. If you are interested and available, let us know and we will address you ASAP. Wellhub developers should refer to the Internal Guidelines.

## Request a feature

If you believe it is necessary to develop a new feature, for example a new component, please contact our team. You can open a new discussion topic, explaining the need. Our team will analyze and prioritize within our initiatives, taking into account design and engineering principles, such as reusability. If you are interested and available, let us know and we will address you ASAP. Wellhub developers should refer to the Internal Guidelines.

### [Contributing Guide](CONTRIBUTING.md)

This repository should and will grow, its contents will be used for many people in our current and future projects. As such, we follow some practices to keep a common architecture in our changes. Read our [Contributing Guide](CONTRIBUTING.md) to learn about our code of conduct, environments setups and development process. Wellhub developers should also consult the Internal Guidelines.

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Gabriel Daltoso
Gabriel Daltoso

πŸ’» πŸ€” πŸ“– πŸ‘€
Allysson dos Santos
Allysson dos Santos

πŸ’» πŸ€” πŸ“– πŸ‘€
Victor Caetano
Victor Caetano

πŸ’» πŸ€” πŸ“– πŸ‘€
Alan Oliveira
Alan Oliveira

πŸ’» πŸ€” πŸ“– πŸ‘€
Kaic Bastidas
Kaic Bastidas

πŸ’» πŸ€” πŸ“–
Luis Pires
Luis Pires

πŸ’»
invilliaanajacobsen
invilliaanajacobsen

πŸ›


Caio Alexandre
Caio Alexandre

πŸ“– πŸ’» πŸ€”
Thaylla Christine
Thaylla Christine

πŸ’»
EsthΓ©fanie Vila Maior
EsthΓ©fanie Vila Maior

πŸ“– πŸ’»
Geovana Silva
Geovana Silva

πŸ›
Lucas Coelho
Lucas Coelho

πŸ’» πŸ€” πŸ“– πŸ‘€
AndrΓ© Rocha
AndrΓ© Rocha

πŸ“– πŸ’»
Katharine Padilha
Katharine Padilha

πŸ’» πŸ€”


Thiago AmΓ’ncio
Thiago AmΓ’ncio

πŸ’» 🎨 πŸ›
Alyce Cristine
Alyce Cristine

πŸ’» πŸ“– πŸ›
NathΓ‘lia Pacheco
NathΓ‘lia Pacheco

πŸ’» πŸ“–
Matheus Henrique
Matheus Henrique

πŸ“– πŸ’»
DΓ‘rio Felipe
DΓ‘rio Felipe

πŸ“–
JoΓ£o Victor
JoΓ£o Victor

πŸ“–
Wendler Eis
Wendler Eis

πŸ› πŸ’»


Deborah Miranda
Deborah Miranda

πŸ›
Matheus Martins
Matheus Martins

πŸ’» πŸ€” πŸ“– πŸ‘€
Leticia Soares
Leticia Soares

πŸ’» πŸ“–
Marcos Ricardo
Marcos Ricardo

πŸ“– πŸ’»
Jonatas Falkaniere
Jonatas Falkaniere

πŸ’» πŸ€”
Davi Marins Dantas
Davi Marins Dantas

πŸ“–
Natalia Braz
Natalia Braz

πŸ›


Eric Cerqueira LeΓ£o
Eric Cerqueira LeΓ£o

πŸ’» πŸ“–
Aline Rigoni
Aline Rigoni

πŸ’»
Lucas Fernandes Souza
Lucas Fernandes Souza

πŸ’»
Henrique Sugiyama
Henrique Sugiyama

πŸ’»
Giovanna Freitas
Giovanna Freitas

πŸ’» πŸ“–
SalomΓ£o Luiz de AraΓΊjo Neto
SalomΓ£o Luiz de AraΓΊjo Neto

πŸ’»
Caio Tracera
Caio Tracera

πŸ› πŸ’»


Leonardo Gomes
Leonardo Gomes

πŸ’»
Rafael Pizzaia Coleta
Rafael Pizzaia Coleta

πŸ’»
Diego Marcuz
Diego Marcuz

πŸ›
Luis Guilherme Cardoso Rosa
Luis Guilherme Cardoso Rosa

πŸ’»
Ruan Ramalho
Ruan Ramalho

πŸ›
Caio Augusto
Caio Augusto

πŸ›
JΓΊlia Ohara
JΓΊlia Ohara

πŸ› πŸ“–


Micael Rodrigues
Micael Rodrigues

πŸ› πŸ“–
Marina Souza
Marina Souza

πŸ’»
Luan Lorenzo
Luan Lorenzo

πŸ’» πŸ“–
TomΓ‘s Keong
TomΓ‘s Keong

πŸ’»
Leonardo Luiz
Leonardo Luiz

πŸ’» πŸ“–
Marcos Creuz Filho
Marcos Creuz Filho

πŸ’»
Jonas
Jonas

πŸ“– πŸ’»

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!