Библиотеки компонентов
Основной инструмент для проектирования интерфейсов в Контуре — Фигма. Ей пользуются больше 400 человек, делая больше 60 проектов.
Мы используем и поддерживаем две библиотеки контролов: в Фигме для дизайнеров и React UI для разработчиков.
Бибилиотека в Фигме оптимизирована для повседневной работы дизайнера — в ней нет некоторых состояний контролов или сочетаний их свойств, которые возможны у реальных компонентов на Реакт. Они достаточно редко нужны в макетах, при этом излишне усложнили бы библиотеку для проектирования.
Более полное описание контролов, все возможные состояния и их пересечения есть в документации библиотеки React UI, в таблице с дизайн-токенами, а также в гайдах каждого компонента.
Для разработки есть еще несколько npm-пакетов которые реализуют правила Контур.Гайдов в коде. Например, такие как библиотека валидаций, или более крупные и специфичные компоненты, как шапка продукта.
Библиотеки в Фигме
Библиотеки цветов, стилей типографики и контролов
Все актуальные библиотеки помечены значком ⚡️ и автоматически включены в файлах, создаваемых в проектах Контура в Фигме:
Библиотека иконок
⚡ Kontur UI Icons — библиотека иконок для интерфейса. Сейчас находится в процессе активного наполнения и добавления новых иконок.
Для фронтенда нужно использовать npm-пакет с иконками: @skbkontur/icons с парковки. Документация пакета с иконками.
Типографика и цвета
⚡️ Kontur Colors и ⚡️ Kontur UI Typography — библиотеки, реализующие внешний вид контролов: цвета́ и текстовые стили в соответствии с брендбуком Контура.
Темная тема
Тёмная тема реализована отдельной библиотекой в фигме, своей структурой полностью повторяющая дефолтную библиотеку.
Также собрана отдельная библиотека цветов для тёмной темы, которая своей структурой аналогична обычной библиотеке цветов.
Применение темы
Чтобы перевести макет в тёмную тему нужно заменить библиотеки использующиеся в макетах.
Замена библиотек произойдёт во всём файле, поэтому важно, чтобы она происходила в отдельном документе.
Для этого создайте дубликат нужного вам файла, либо скопируйте нужный вам макет в отдельный файл.
Библиотека контролов
В настройках библиотек кликните на строку ⚡ Kontur UI Modern Layout, и нажмите «Swap library». В качестве новой библиотеки выберите ⚡ Kontur UI Modern Layout Dark.
Фигма автоматически сопоставит компоненты из двух библиотек для замены.
Замена контролов займёт немного времени, но оно может увеличиться, при большом количестве контролов в файле.
Все изменения в контролах сохраняются при их замене. Это значит, что вы не потеряете свои тексты, но если вы меняли цвета, то они сохранятся при замене, и придётся вручную сбрасывать их до дефолтных.
Библиотека цветов
Для перевода макета в тёмную тему недостаточно замены одних контролов. В макетах остаются цвета не привязанные к компонентам, например — цвета фона страниц, откреплённые контролы или отдельные элементы на страницах.
Для замены библиотеки цветов нужно повторить те же шаги по замене библиотек, заменив ⚡️ Kontur Colors на ⚡ Kontur Colors Dark.
Так как Фигма сопоставляет стили для замены по их названиям, не все стили могут быть заменены автоматически. Более того, часто в макетах возникают ситуации, что цвет откреплён от стиля.
Некоторые цвета в библиотеке цветов имеют описательное (Black #000) название вместо функционального (Shape Default), из-за этого в библотеках возникают стили, которые нельзя сопоставить. Так, например, чёрный цвет в тёмной теме имеет название Black #1F1F1F, а в дефолтной Black #000, и из-за этого несовпадения имён не может быть сопоставлен.
Такие цвета нужно будет заменить вручную. Библиотеки имеют идентичную структуру и названия функциональных стилей, поэтому можно ориентироваться на положение цвета в палитре и его название.
Откреплённые цвета можно до замены библиотек привести к существующим стилям плагином Style Organizer. Он сканирует цвета на странице и предлагает объединить их со стилями на основе уже использующихся на странице.
Локальные библиотеки
Если вы используется локальные библиотеки в своих макетах — их придётся заменять вручную.
При подборе новых цветов проверяйте контрастность с цветами фонов тёмной темы:
#1f1f1f
#333333
Поддержка
Если вы знаете как сделать библиотеки лучше, есть вопросы или что-то сломалось в библиотеках — пишите на guides@kontur.ru.