# Документация по использованию `arui-feather` в адаптивной/мобильной среде
## Содержание
- [Система отступов](#gap)
- [Медиа запросы](#mq)
- [Автоматическое тестирование](#mobile-testing)
## Система отступов
### Определение
Система отступов используется для того, чтобы задать расстояние между элементами.
Переменные отступа не используются для задания размеров или позиционирования на странице.
### Значения отступов
Переменные хранятся в файле [vars.css](src/vars.css)
| Название | Значение |
| ----------- | -------- |
| `--gap-2xs` | 4px |
| `--gap-xs` | 8px |
| `--gap-s` | 12px |
| `--gap-m` | 16px |
| `--gap-l` | 20px |
| `--gap-xl` | 24px |
| `--gap-2xl` | 32px |
| `--gap-3xl` | 40px |
| `--gap-4xl` | 48px |
| `--gap-5xl` | 72px |
### Пример использования в CSS
```css
@import 'arui-feather/vars.css';
.array-item {
margin-bottom: var(--gap-xs);
}
.description {
margin: var(--gap-l) 0;
}
```
### Пример **неправильного** использования
```css
.icon {
width: var(--gap-m);
}
```
## Медиа запросы
### Брейкпойнты
Контрольные точки для медиа запросов задаются в [mq.json](src/mq/mq.json).
Для консистентной работы среди всех поддерживаемых браузеров используется единица измерения `em`.
```css
body {
font-size: 16px;
}
```
| Название | Значение | Deprecation |
| ---------------- | ---------------- | ----------- |
| `--mobile-s` | 320px to 100% | |
| `--mobile-m` | 375px to 100% | |
| `--mobile-l` | 412px to 100% | |
| `--mobile` | 0 to 599px | |
| `--tablet-s` | 600px to 100% | |
| `--tablet-m` | 768px to 100% | |
| `--tablet` | 600px to 1023px | |
| `--desktop-s` | 1024px to 100% | |
| `--desktop-m` | 1280px to 100% | |
| `--desktop-l` | 1440px to 100% | |
| `--desktop-xl` | 1920px to 100% | |
| `--desktop` | 1024px to 100% | |
| `--small` | 0 to 100% | Deprecated |
| `--small-only` | 0 to 767px | Deprecated |
| `--medium` | 768px to 100% | Deprecated |
| `--medium-only` | 768px to 1023px | Deprecated |
| `--large` | 1024px to 100% | Deprecated |
| `--large-only` | 1024px to 1439px | Deprecated |
| `--xlarge` | 1440px to 100% | Deprecated |
| `--xlarge-only` | 1440px to 1919px | Deprecated |
| `--xxlarge` | 1920px to 100% | Deprecated |
| `--xxlarge-only` | 1920px to 100% | Deprecated |
### Пример использования в CSS
```css
@media (--mobile) {
.app__content {
width: 100%;
padding: 0 var(--gap-l);
}
}
@media (--tablet) {
.app__content {
width: 700px;
margin: 0 auto;
}
}
@media (--mobile), (--tablet) {
.button {
width: 100%;
}
}
```
### Пример использования в JS
При особой необходимости, для рендеринга по условию в шаблонах используйте компонент `Mq`, который основан на `window.matchMedia API`:
```jsx
import Mq from 'arui-feather/mq';
const MyComponent = () => (