@s-ui/theme
Version:
Generic theme to add styles to all SUI components
82 lines (54 loc) • 2.95 kB
Markdown
# SUI Components Theme
This repository contains:
- Generic variables to initialize default values and component styles.
- A set of placeholders ready to style your component (buttons, tabs, forms, grid system...).
- Functions and mixins helpers.
## Usage
Install `sui-theme` in your project:
```bash
npm install -ui/theme --save
```
Import `sui-theme` into your sui-component including the path in `index.scss`:
```scss
'~-ui/theme/lib/index';
```
If you want to customize your components, create your own theme and add it to your component just **before** the sui-theme import.
```scss
'../custom-settings';
'~-ui/theme/lib/index';
```
## Upgrade from theme-basic@7
Compatibility variables are still available to import manually.
**Import only what you need, in inheritance order**
For instance:
```scss
'../custom-settings';
'~-ui/theme/lib/settings-compat-v7/color';
'~-ui/theme/lib/settings-compat-v7/spacing';
'~-ui/theme/lib/index';
```
Find below the compat varible groups available:
- [settings-compat-v7/color](https://github.com/SUI-Components/sui-theme/blob/master/src/settings-compat-v7/_color.scss)
- [settings-compat-v7/font](https://github.com/SUI-Components/sui-theme/blob/master/src/settings-compat-v7/_font.scss)
- [settings-compat-v7/spacing](https://github.com/SUI-Components/sui-theme/blob/master/src/settings-compat-v7/_spacing.scss)
- [settings-compat-v7/box-style](https://github.com/SUI-Components/sui-theme/blob/master/src/settings-compat-v7/_box-style.scss)
- [settings-compat-v7/animation](https://github.com/SUI-Components/sui-theme/blob/master/src/settings-compat-v7/_animation.scss)
- [settings-compat-v7/layout](https://github.com/SUI-Components/sui-theme/blob/master/src/settings-compat-v7/_layout.scss)
- [settings-compat-v7/components](https://github.com/SUI-Components/sui-theme/blob/master/src/settings-compat-v7/_components.scss)
**Also, if you need it all for older components, you can do**
```scss
'~-ui/theme/lib/settings-compat-v7/index';
'~-ui/theme/lib/index';
```
## Media queries and breakpoints
### Rules & Definitions
- Breakpoints must be exactly `xxs`, `xs`, `s`, `m`, `l`, `xl`, `xxl`
- For new implementations, the only allowed media query is `media-breakpoint-up`
- `media-breakpoint-down`, `media-breakpoint-only` and `media-breakpoint-between` are deprecated and only kept for legacy reasons.
### Reason
- We want to create all our components `mobile first`
### Legacy components
- Keep in mind that refactoring legacy components in order to make it rules compliant would suppose a breaking change, so a new major must be released.
### Links
- [SUI Breakpoints](https://github.com/SUI-Components/sui-theme/blob/master/src/layout/_breakpoints.scss) implementation
- [SUI Media Query](https://github.com/SUI-Components/sui-theme/blob/master/src/utils/_breakpoints.scss) implementation