# Цвет
tone
- Библиотека работы с цветом в проекте. Это набор утилит и базовая тема для работы.
Генерация темы достаточно ресурсоемкая для препроцессора, поэтому ее можно отменить с помощью флага: $TONE_GENERATE_THEME
. По умолчанию тема ганерируется. Основную нагрузку несет в себе генерация цветовой палитры. Этот флаг это поведение отключит $TONE_GENERATE_PALETTES
, но тема генерируется из предоставленной палитры. Поэтому, если хотите оставить генерацию темы - нужно будет вручную описать базовую палитру.
На основе базовой темы будут строится множество других компонентов.
# Миксины
# +tone-theme-apply($theme-map)
Заменяет переменные var(--theme-{name})
на существующие в $theme-map
значения.
# +tone-color-palette-fill-gaps($colors-map, $specs: $TONE_GAPS_FILLER_SPECS)
$colors-map
- Существующая у вас неполная палитра. На основании ее, и дополнительных настроек - пустые места точек палитры($TONE_PALETTE_MARKS
) будут заполнены сгенерированными цветами.$specs
- Это map настроек генерации палитры.
Из этой, неполной, палитры:
$some-palette: tone-color-palette-fill-gaps((
10: #d0e2ff,
50: #1976e1,
));
В итоге получится:
$some-palette: : (
0: #fdfeff,
5: #e7f0ff,
10: #d0e2ff,
20: #a2c7f8,
30: #75acf0,
40: #4791e9,
50: #1976e1,
60: #1665c2,
70: #1255a2,
80: #0f4483,
90: #0b3463
100: #082344,
);
# +tone-color-palette-range($marks, $specs: $TONE_DEFAULT_SPECS)
Генерирует палитру в рамках установленных в $specs
диапазонов значений hue, brightness, saturation.
$marks
- Это точки интенсивности цветов в порядке следования от самого незаметного - до самого темного. Передавайте переменную$TONE_PALETTE_MARKS
- это стандартный набор "точек".$specs
- Это map настроек генерации палитры. Он будет "слит" с базовыми($TONE_DEFAULT_SPECS
) для получения новой палитры цветов.
Для генерации различных цветов по большому счету достаточно указать hue-range:
// Эта-же настройка генератора используется
// в стандартной палитре для генерации
// голубого цвета.
$some-palette: tone-color-palette-range(
$TONE_PALETTE_MARKS,
(hue-range: 220 212)
);
И выйдет:
$some-palette: (
0: #f2f8ff,
5: #d6e9ff,
10: #bbdafe,
20: #88befa,
30: #5ca3f4
40: #378bec,
50: #1976e1,
60: #0264d4,
70: #0055b7,
80: #00499c,
90: #003e85
100: #003470
);
# Тема
С помощью использования темы в работе - мы поддерживаем интерфейс консистентным. Поведение пользователя более предсказуемо, визуальное отображение элементов идентично друг другу, поддержка/переработка элементов визуально становиться значительно легче при использовании общего стиля.
Первичная проработка элементов дольше. Поддержка и переиспользование - значительно легче.
По умолчанию тема включает только базовые цвета: Рельефа и Текста. Остальные - на ваше рассуждение.
# Цветовая палитра
← Общий API Типографика →